Commit 04b85ab6 authored by unknown's avatar unknown
Browse files

Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1

into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-ndb

parents 95dd28cf f82e49b2
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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
+16 −3
Original line number Diff line number Diff line
@@ -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);
@@ -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)
@@ -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",
+1 −0
Original line number Diff line number Diff line
@@ -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
+9 −9
Original line number Diff line number Diff line
@@ -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);
@@ -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);
@@ -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);
@@ -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);
@@ -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 &&
@@ -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);
      }
@@ -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;
+2 −0
Original line number Diff line number Diff line
@@ -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