Commit 67d7141a authored by unknown's avatar unknown
Browse files

Bug #21806: wrong ndb binlog behaviour when cluster disconnects/restarts

- latest gci is reinitialized to 0 at reconnect, ndb binlog thread needs to wait until valid gci is retrieved

parent 93e6d00d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ show binlog events from <binlog_start>;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Query	#	#	BEGIN
master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
master-bin.000001	#	Table_map	#	#	table_id: # (mysql.apply_status)
master-bin.000001	#	Table_map	#	#	table_id: # (mysql.ndb_apply_status)
master-bin.000001	#	Write_rows	#	#	table_id: #
master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
master-bin.000001	#	Query	#	#	COMMIT
+2 −2
Original line number Diff line number Diff line
@@ -32,8 +32,8 @@ synchronization : Bug#24529 Test 'synchronization' fails on Mac pushb

# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
#ndb_binlog_ddl_multi     : BUG#18976 2006-04-10 kent    CRBR: multiple binlog, second binlog may miss schema log events
ndb_binlog_discover      : bug#21806 2006-08-24
ndb_autodiscover3        : bug#21806
#ndb_binlog_discover      : bug#21806 2006-08-24
#ndb_autodiscover3        : bug#21806

flush2                   : Bug#24805 Pushbuild can't handle test with --disable-log-bin
+1 −1
Original line number Diff line number Diff line
@@ -3542,7 +3542,7 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
      if (abort_loop)
        goto err;
      schema_res= s_ndb->pollEvents(100, &schema_gci);
    } while (ndb_latest_received_binlog_epoch == schema_gci);
    } while (schema_gci == 0 || ndb_latest_received_binlog_epoch == schema_gci);
    if (ndb_binlog_running)
    {
      Uint64 gci= i_ndb->getLatestGCI();