Some tidy up of binlog rotuer code
This commit is contained in:
@ -438,7 +438,7 @@ extern void blr_master_reconnect(ROUTER_INSTANCE *);
|
|||||||
extern int blr_master_connected(ROUTER_INSTANCE *);
|
extern int blr_master_connected(ROUTER_INSTANCE *);
|
||||||
|
|
||||||
extern int blr_slave_request(ROUTER_INSTANCE *, ROUTER_SLAVE *, GWBUF *);
|
extern int blr_slave_request(ROUTER_INSTANCE *, ROUTER_SLAVE *, GWBUF *);
|
||||||
extern void blr_slave_rotate(ROUTER_SLAVE *slave, uint8_t *ptr);
|
extern void blr_slave_rotate(ROUTER_INSTANCE *, ROUTER_SLAVE *, uint8_t *);
|
||||||
extern int blr_slave_catchup(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, bool large);
|
extern int blr_slave_catchup(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, bool large);
|
||||||
extern void blr_init_cache(ROUTER_INSTANCE *);
|
extern void blr_init_cache(ROUTER_INSTANCE *);
|
||||||
|
|
||||||
@ -450,4 +450,8 @@ extern BLFILE *blr_open_binlog(ROUTER_INSTANCE *, char *);
|
|||||||
extern GWBUF *blr_read_binlog(ROUTER_INSTANCE *, BLFILE *, unsigned int, REP_HEADER *);
|
extern GWBUF *blr_read_binlog(ROUTER_INSTANCE *, BLFILE *, unsigned int, REP_HEADER *);
|
||||||
extern void blr_close_binlog(ROUTER_INSTANCE *, BLFILE *);
|
extern void blr_close_binlog(ROUTER_INSTANCE *, BLFILE *);
|
||||||
extern unsigned long blr_file_size(BLFILE *);
|
extern unsigned long blr_file_size(BLFILE *);
|
||||||
|
extern int blr_statistics(ROUTER_INSTANCE *, ROUTER_SLAVE *, GWBUF *);
|
||||||
|
extern int blr_ping(ROUTER_INSTANCE *, ROUTER_SLAVE *, GWBUF *);
|
||||||
|
extern int blr_send_custom_error(DCB *, int, int, char *);
|
||||||
|
extern int blr_file_next_exists(ROUTER_INSTANCE *, ROUTER_SLAVE *);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1300,7 +1300,7 @@ int action;
|
|||||||
memcpy(buf, ptr, hdr->event_size);
|
memcpy(buf, ptr, hdr->event_size);
|
||||||
if (hdr->event_type == ROTATE_EVENT)
|
if (hdr->event_type == ROTATE_EVENT)
|
||||||
{
|
{
|
||||||
blr_slave_rotate(slave, ptr);
|
blr_slave_rotate(router, slave, ptr);
|
||||||
}
|
}
|
||||||
slave->stats.n_bytes += gwbuf_length(pkt);
|
slave->stats.n_bytes += gwbuf_length(pkt);
|
||||||
slave->dcb->func.write(slave->dcb, pkt);
|
slave->dcb->func.write(slave->dcb, pkt);
|
||||||
|
@ -614,7 +614,7 @@ int len, file_len;
|
|||||||
|
|
||||||
sprintf(file, "%s", router->binlog_name);
|
sprintf(file, "%s", router->binlog_name);
|
||||||
file_len = strlen(file);
|
file_len = strlen(file);
|
||||||
sprintf(position, "%d", router->binlog_position);
|
sprintf(position, "%ld", router->binlog_position);
|
||||||
len = 5 + file_len + strlen(position) + 1 + 3;
|
len = 5 + file_len + strlen(position) + 1 + 3;
|
||||||
if ((pkt = gwbuf_alloc(len)) == NULL)
|
if ((pkt = gwbuf_alloc(len)) == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
@ -1350,7 +1350,7 @@ unsigned long beat1 = hkheartbeat;
|
|||||||
if (hkheartbeat - beat1 > 1) LOGIF(LE, (skygw_log_write(
|
if (hkheartbeat - beat1 > 1) LOGIF(LE, (skygw_log_write(
|
||||||
LOGFILE_ERROR, "blr_close_binlog took %d beats",
|
LOGFILE_ERROR, "blr_close_binlog took %d beats",
|
||||||
hkheartbeat - beat1)));
|
hkheartbeat - beat1)));
|
||||||
blr_slave_rotate(slave, GWBUF_DATA(record));
|
blr_slave_rotate(router, slave, GWBUF_DATA(record));
|
||||||
beat1 = hkheartbeat;
|
beat1 = hkheartbeat;
|
||||||
if ((slave->file = blr_open_binlog(router, slave->binlogfile)) == NULL)
|
if ((slave->file = blr_open_binlog(router, slave->binlogfile)) == NULL)
|
||||||
{
|
{
|
||||||
@ -1555,13 +1555,13 @@ ROUTER_INSTANCE *router = slave->router;
|
|||||||
* @param ptr The rotate event (minus header and OK byte)
|
* @param ptr The rotate event (minus header and OK byte)
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
blr_slave_rotate(ROUTER_SLAVE *slave, uint8_t *ptr)
|
blr_slave_rotate(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, uint8_t *ptr)
|
||||||
{
|
{
|
||||||
int len = EXTRACT24(ptr + 9); // Extract the event length
|
int len = EXTRACT24(ptr + 9); // Extract the event length
|
||||||
|
|
||||||
len = len - (19 + 8); // Remove length of header and position
|
len = len - (19 + 8); // Remove length of header and position
|
||||||
if (!slave->nocrc)
|
if (router->master_chksum)
|
||||||
len -= 4; // Rmove length of checksum if present
|
len -= 4;
|
||||||
if (len > BINLOG_FNAMELEN)
|
if (len > BINLOG_FNAMELEN)
|
||||||
len = BINLOG_FNAMELEN;
|
len = BINLOG_FNAMELEN;
|
||||||
ptr += 19; // Skip header
|
ptr += 19; // Skip header
|
||||||
|
Reference in New Issue
Block a user