summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorHe Zhenxing <zhenxing.he@sun.com>2009-10-14 13:24:47 +0800
committerHe Zhenxing <zhenxing.he@sun.com>2009-10-14 13:24:47 +0800
commit6ae50d8aedbded8dcdc7504d116f25bcd02535ff (patch)
tree68e9d76bbd263b6dde17ab9bc2ac3bb3dfad0115 /sql
parente5e8f1a47f79090d071a151ef87cf8566b3ff225 (diff)
downloadmariadb-git-6ae50d8aedbded8dcdc7504d116f25bcd02535ff.tar.gz
Postfix after merge semi-sync with heartbeat
Use ev_offset instead of 1 as the packet header offset when getting log position from events for heartbeat call reset_transmit_packet before calling send_heartbeat_event sql/sql_repl.cc: Use ev_offset instead of 1 as the packet header offset when getting log position from events for heartbeat call reset_transmit_packet before calling send_heartbeat_event
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_repl.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index 20ac7b01eda..9e4ef364408 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -427,7 +427,6 @@ static int send_heartbeat_event(NET* net, String* packet,
{
DBUG_RETURN(-1);
}
- packet->set("\0", 1, &my_charset_bin);
DBUG_RETURN(0);
}
@@ -689,7 +688,7 @@ impossible position";
log's filename does not change while it's active
*/
if (coord)
- coord->pos= uint4korr(packet->ptr() + 1 + LOG_POS_OFFSET);
+ coord->pos= uint4korr(packet->ptr() + ev_offset + LOG_POS_OFFSET);
event_type= (Log_event_type)((*packet)[LOG_EVENT_OFFSET+ev_offset]);
if (event_type == FORMAT_DESCRIPTION_EVENT)
@@ -849,6 +848,9 @@ impossible position";
sql_print_information("the rest of heartbeat info skipped ...");
}
#endif
+ /* reset transmit packet for the heartbeat event */
+ if (reset_transmit_packet(thd, flags, &ev_offset, &errmsg))
+ goto err;
if (send_heartbeat_event(net, packet, coord))
{
errmsg = "Failed on my_net_write()";