Loading mysql-test/t/disabled.def +0 −4 Original line number Diff line number Diff line Loading @@ -18,10 +18,6 @@ #im_life_cycle : Bug#20368 2006-06-10 alik im_life_cycle test fails ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover3 : BUD#20843 2006-07-04 tomas ndb_autodiscover3 fails randomly #ndb_binlog_discover : BUG#19395 2006-04-28 tomas/knielsen mysqld does not always detect cluster shutdown #ndb_cache2 : BUG#18597 2006-03-28 brian simultaneous drop table and ndb statistics update triggers node failure #ndb_cache_multi2 : BUG#18597 2006-04-10 kent simultaneous drop table and ndb statistics update triggers node failure ndb_load : BUG#17233 2006-05-04 tomas failed load data from infile causes mysqld dbug_assert, binlog not flushed partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when updating a range partitioned NDB table ps_7ndb : BUG#18950 2006-02-16 jmiller create table like does not obtain LOCK_open Loading sql/ha_ndbcluster_binlog.cc +16 −3 Original line number Diff line number Diff line Loading @@ -3442,8 +3442,8 @@ pthread_handler_t ndb_binlog_thread_func(void *arg) // wait for the first event thd->proc_info= "Waiting for first event from ndbcluster"; DBUG_PRINT("info", ("Waiting for the first event")); int schema_res= 0; Uint64 schema_gci= 0; int schema_res= 0, res= 0; Uint64 schema_gci= 0, gci= 0; while (schema_res == 0 && !abort_loop) { schema_res= s_ndb->pollEvents(100, &schema_gci); Loading @@ -3452,7 +3452,14 @@ pthread_handler_t ndb_binlog_thread_func(void *arg) DBUG_PRINT("info", ("schema_res: %d schema_gci: %d", schema_res, schema_gci)); if (schema_res > 0) { i_ndb->pollEvents(0); while (res >= 0 && gci < schema_gci && !abort_loop) { res= i_ndb->pollEvents(100, &gci); } if (gci > schema_gci) { schema_gci= gci; } i_ndb->flushIncompleteEvents(schema_gci); s_ndb->flushIncompleteEvents(schema_gci); if (schema_gci < ndb_latest_handled_binlog_epoch) Loading @@ -3466,6 +3473,12 @@ pthread_handler_t ndb_binlog_thread_func(void *arg) ndb_latest_applied_binlog_epoch= 0; ndb_latest_received_binlog_epoch= 0; } else if (ndb_latest_applied_binlog_epoch > 0) { sql_print_warning("NDB Binlog: cluster has reconnected. " "Changes to the database that occured while " "disconnected will not be in the binlog"); } if (ndb_extra_logging) { sql_print_information("NDB Binlog: starting log at epoch %u", Loading storage/ndb/include/mgmapi/ndbd_exit_codes.h +1 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ typedef ndbd_exit_classification_enum ndbd_exit_classification; #define NDBD_EXIT_INDEX_NOTINRANGE 2304 #define NDBD_EXIT_ARBIT_SHUTDOWN 2305 #define NDBD_EXIT_POINTER_NOTINRANGE 2306 #define NDBD_EXIT_PARTITIONED_SHUTDOWN 2307 #define NDBD_EXIT_SR_OTHERNODEFAILED 2308 #define NDBD_EXIT_NODE_NOT_DEAD 2309 #define NDBD_EXIT_SR_REDOLOG 2310 Loading storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp +9 −9 Original line number Diff line number Diff line Loading @@ -438,6 +438,7 @@ void Qmgr::execCONNECT_REP(Signal* signal) void Qmgr::execREAD_NODESCONF(Signal* signal) { jamEntry(); check_readnodes_reply(signal, refToNode(signal->getSendersBlockRef()), GSN_READ_NODESCONF); Loading @@ -446,6 +447,7 @@ Qmgr::execREAD_NODESCONF(Signal* signal) void Qmgr::execREAD_NODESREF(Signal* signal) { jamEntry(); check_readnodes_reply(signal, refToNode(signal->getSendersBlockRef()), GSN_READ_NODESREF); Loading Loading @@ -907,7 +909,7 @@ Qmgr::check_readnodes_reply(Signal* signal, Uint32 nodeId, Uint32 gsn) char buf[255]; BaseString::snprintf(buf, sizeof(buf), "Partitioned cluster! check StartPartialTimeout, " "check StartPartialTimeout, " "node %d thinks %d is president, " "I think president is: %d", nodeId, president, cpresident); Loading Loading @@ -941,7 +943,7 @@ Qmgr::check_readnodes_reply(Signal* signal, Uint32 nodeId, Uint32 gsn) CRASH_INSERTION(932); progError(__LINE__, NDBD_EXIT_ARBIT_SHUTDOWN, NDBD_EXIT_PARTITIONED_SHUTDOWN, buf); ndbrequire(false); Loading Loading @@ -2798,7 +2800,7 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, break; case FailRep::ZPARTITIONED_CLUSTER: { code = NDBD_EXIT_ARBIT_SHUTDOWN; code = NDBD_EXIT_PARTITIONED_SHUTDOWN; char buf1[100], buf2[100]; c_clusterNodes.getText(buf1); if (signal->getLength()== FailRep::SignalLength + FailRep::ExtraLength && Loading @@ -2809,7 +2811,6 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, part.assign(NdbNodeBitmask::Size, rep->partition); part.getText(buf2); BaseString::snprintf(extra, sizeof(extra), "Partitioned cluster!" "Our cluster: %s other cluster: %s", buf1, buf2); } Loading @@ -2817,7 +2818,6 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, { jam(); BaseString::snprintf(extra, sizeof(extra), "Partitioned cluster!" "Our cluster: %s", buf1); } msg = extra; Loading storage/ndb/src/kernel/error/ndbd_exit_codes.c +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ static const ErrStruct errArray[] = {NDBD_EXIT_ARBIT_SHUTDOWN, XAE, "Node lost connection to other nodes and " "can not form a unpartitioned cluster, please investigate if there are " "error(s) on other node(s)"}, {NDBD_EXIT_PARTITIONED_SHUTDOWN, XAE, "Partitioned cluster detected. " "Please check if cluster is already running"}, {NDBD_EXIT_POINTER_NOTINRANGE, XIE, "Pointer too large"}, {NDBD_EXIT_SR_OTHERNODEFAILED, XRE, "Another node failed during system " "restart, please investigate error(s) on other node(s)"}, Loading Loading
mysql-test/t/disabled.def +0 −4 Original line number Diff line number Diff line Loading @@ -18,10 +18,6 @@ #im_life_cycle : Bug#20368 2006-06-10 alik im_life_cycle test fails ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover3 : BUD#20843 2006-07-04 tomas ndb_autodiscover3 fails randomly #ndb_binlog_discover : BUG#19395 2006-04-28 tomas/knielsen mysqld does not always detect cluster shutdown #ndb_cache2 : BUG#18597 2006-03-28 brian simultaneous drop table and ndb statistics update triggers node failure #ndb_cache_multi2 : BUG#18597 2006-04-10 kent simultaneous drop table and ndb statistics update triggers node failure ndb_load : BUG#17233 2006-05-04 tomas failed load data from infile causes mysqld dbug_assert, binlog not flushed partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when updating a range partitioned NDB table ps_7ndb : BUG#18950 2006-02-16 jmiller create table like does not obtain LOCK_open Loading
sql/ha_ndbcluster_binlog.cc +16 −3 Original line number Diff line number Diff line Loading @@ -3442,8 +3442,8 @@ pthread_handler_t ndb_binlog_thread_func(void *arg) // wait for the first event thd->proc_info= "Waiting for first event from ndbcluster"; DBUG_PRINT("info", ("Waiting for the first event")); int schema_res= 0; Uint64 schema_gci= 0; int schema_res= 0, res= 0; Uint64 schema_gci= 0, gci= 0; while (schema_res == 0 && !abort_loop) { schema_res= s_ndb->pollEvents(100, &schema_gci); Loading @@ -3452,7 +3452,14 @@ pthread_handler_t ndb_binlog_thread_func(void *arg) DBUG_PRINT("info", ("schema_res: %d schema_gci: %d", schema_res, schema_gci)); if (schema_res > 0) { i_ndb->pollEvents(0); while (res >= 0 && gci < schema_gci && !abort_loop) { res= i_ndb->pollEvents(100, &gci); } if (gci > schema_gci) { schema_gci= gci; } i_ndb->flushIncompleteEvents(schema_gci); s_ndb->flushIncompleteEvents(schema_gci); if (schema_gci < ndb_latest_handled_binlog_epoch) Loading @@ -3466,6 +3473,12 @@ pthread_handler_t ndb_binlog_thread_func(void *arg) ndb_latest_applied_binlog_epoch= 0; ndb_latest_received_binlog_epoch= 0; } else if (ndb_latest_applied_binlog_epoch > 0) { sql_print_warning("NDB Binlog: cluster has reconnected. " "Changes to the database that occured while " "disconnected will not be in the binlog"); } if (ndb_extra_logging) { sql_print_information("NDB Binlog: starting log at epoch %u", Loading
storage/ndb/include/mgmapi/ndbd_exit_codes.h +1 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ typedef ndbd_exit_classification_enum ndbd_exit_classification; #define NDBD_EXIT_INDEX_NOTINRANGE 2304 #define NDBD_EXIT_ARBIT_SHUTDOWN 2305 #define NDBD_EXIT_POINTER_NOTINRANGE 2306 #define NDBD_EXIT_PARTITIONED_SHUTDOWN 2307 #define NDBD_EXIT_SR_OTHERNODEFAILED 2308 #define NDBD_EXIT_NODE_NOT_DEAD 2309 #define NDBD_EXIT_SR_REDOLOG 2310 Loading
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp +9 −9 Original line number Diff line number Diff line Loading @@ -438,6 +438,7 @@ void Qmgr::execCONNECT_REP(Signal* signal) void Qmgr::execREAD_NODESCONF(Signal* signal) { jamEntry(); check_readnodes_reply(signal, refToNode(signal->getSendersBlockRef()), GSN_READ_NODESCONF); Loading @@ -446,6 +447,7 @@ Qmgr::execREAD_NODESCONF(Signal* signal) void Qmgr::execREAD_NODESREF(Signal* signal) { jamEntry(); check_readnodes_reply(signal, refToNode(signal->getSendersBlockRef()), GSN_READ_NODESREF); Loading Loading @@ -907,7 +909,7 @@ Qmgr::check_readnodes_reply(Signal* signal, Uint32 nodeId, Uint32 gsn) char buf[255]; BaseString::snprintf(buf, sizeof(buf), "Partitioned cluster! check StartPartialTimeout, " "check StartPartialTimeout, " "node %d thinks %d is president, " "I think president is: %d", nodeId, president, cpresident); Loading Loading @@ -941,7 +943,7 @@ Qmgr::check_readnodes_reply(Signal* signal, Uint32 nodeId, Uint32 gsn) CRASH_INSERTION(932); progError(__LINE__, NDBD_EXIT_ARBIT_SHUTDOWN, NDBD_EXIT_PARTITIONED_SHUTDOWN, buf); ndbrequire(false); Loading Loading @@ -2798,7 +2800,7 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, break; case FailRep::ZPARTITIONED_CLUSTER: { code = NDBD_EXIT_ARBIT_SHUTDOWN; code = NDBD_EXIT_PARTITIONED_SHUTDOWN; char buf1[100], buf2[100]; c_clusterNodes.getText(buf1); if (signal->getLength()== FailRep::SignalLength + FailRep::ExtraLength && Loading @@ -2809,7 +2811,6 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, part.assign(NdbNodeBitmask::Size, rep->partition); part.getText(buf2); BaseString::snprintf(extra, sizeof(extra), "Partitioned cluster!" "Our cluster: %s other cluster: %s", buf1, buf2); } Loading @@ -2817,7 +2818,6 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, { jam(); BaseString::snprintf(extra, sizeof(extra), "Partitioned cluster!" "Our cluster: %s", buf1); } msg = extra; Loading
storage/ndb/src/kernel/error/ndbd_exit_codes.c +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ static const ErrStruct errArray[] = {NDBD_EXIT_ARBIT_SHUTDOWN, XAE, "Node lost connection to other nodes and " "can not form a unpartitioned cluster, please investigate if there are " "error(s) on other node(s)"}, {NDBD_EXIT_PARTITIONED_SHUTDOWN, XAE, "Partitioned cluster detected. " "Please check if cluster is already running"}, {NDBD_EXIT_POINTER_NOTINRANGE, XIE, "Pointer too large"}, {NDBD_EXIT_SR_OTHERNODEFAILED, XRE, "Another node failed during system " "restart, please investigate error(s) on other node(s)"}, Loading