4166 Magnus Blåudd 2011-02-02
Bug#58256 Rolling upgrade to 7.1.9 fails when ALL DUMP is used: cluster failure
- A new SYNC_REQ signal was added in 7.0.20 and 7.1.9 which is used to
make sure all blocks in a node has been scheduled and thus processed
the asynch commands it was sent. The false assumption was that this
is used for test/debug only and thus no version code was needed.
- To fix this, check the version of connected node and don't send
SYNC_REQ if the node does not support it.
modified:
storage/ndb/include/ndb_version.h.in
storage/ndb/src/mgmsrv/MgmtSrvr.cpp
4165 Jonas Oreland 2011-02-02
ndb - fix ndb_restore_rewrite_db 7.0 and upwards (windows)
modified:
mysql-test/suite/ndb/t/ndb_restore_rewrite_db.test
=== modified file 'storage/ndb/include/ndb_version.h.in'
--- a/storage/ndb/include/ndb_version.h.in 2010-12-13 15:34:50 +0000
+++ b/storage/ndb/include/ndb_version.h.in 2011-02-02 14:43:21 +0000
@@ -557,4 +557,22 @@ ndbd_fail_rep_source_node(Uint32 x)
}
}
+
+#define NDBD_SYNC_REQ_SUPPORT_70 NDB_MAKE_VERSION(7,0,20)
+#define NDBD_SYNC_REQ_SUPPORT_71 NDB_MAKE_VERSION(7,1,9)
+
+static
+inline
+int
+ndbd_sync_req_support(Uint32 x)
+{
+ const Uint32 major = (x >> 16) & 0xFF;
+ const Uint32 minor = (x >> 8) & 0xFF;
+
+ if (major == 7 && minor == 0)
+ return x >= NDBD_SYNC_REQ_SUPPORT_70;
+
+ return x >= NDBD_SYNC_REQ_SUPPORT_71;
+}
+
#endif
=== modified file 'storage/ndb/src/mgmsrv/MgmtSrvr.cpp'
--- a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2011-01-18 09:52:49 +0000
+++ b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2011-02-02 14:43:21 +0000
@@ -3807,6 +3807,13 @@ MgmtSrvr::show_variables(NdbOut& out)
void
MgmtSrvr::make_sync_req(SignalSender& ss, Uint32 nodeId)
{
+ const trp_node node = ss.getNodeInfo(nodeId);
+ if (!ndbd_sync_req_support(node.m_info.m_version))
+ {
+ /* The node hasn't got SYNC_REQ support */
+ return;
+ }
+
/**
* This subroutine is used to make a async request(error insert/dump)
* "more" syncronous, i.e increasing the likelyhood that
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0 branch (magnus.blaudd:4165 to 4166)Bug#58256 | Magnus Blåudd | 2 Feb |