diff --git a/mysql-test/r/ndb_backup_print.result b/mysql-test/r/ndb_backup_print.result index 872ec9d2b72..fdd929802b2 100644 --- a/mysql-test/r/ndb_backup_print.result +++ b/mysql-test/r/ndb_backup_print.result @@ -2,8 +2,8 @@ use test; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; Connected to Management Server at: : Waiting for completed, this may take several minutes -Backup started from node -Backup started from node completed +Node : Backup started from node +Node : Backup started from node completed StartGCP: StopGCP: #Records: #LogRecords: Data: bytes Log: bytes @@ -57,8 +57,8 @@ insert into t1 values ); Connected to Management Server at: : Waiting for completed, this may take several minutes -Backup started from node -Backup started from node completed +Node : Backup started from node +Node : Backup started from node completed StartGCP: StopGCP: #Records: #LogRecords: Data: bytes Log: bytes diff --git a/mysql-test/t/ndb_backup_print.test b/mysql-test/t/ndb_backup_print.test index 34bdf519694..1e516f03ae6 100644 --- a/mysql-test/t/ndb_backup_print.test +++ b/mysql-test/t/ndb_backup_print.test @@ -8,7 +8,7 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; --enable_warnings #NO.1 test output of backup ---exec $NDB_TOOLS_DIR/../src/mgmclient/ndb_mgm -e "start backup" |sed -e 's/[0-9]//g' |sed -e 's/localhost//g' |sed -e 's/\.\.\.*//g' +--exec $NDB_MGM --no-defaults -e "start backup" |sed -e 's/[0-9]//g' |sed -e 's/localhost//g' |sed -e 's/\.\.\.*//g' create table t1 (pk int key @@ -63,4 +63,4 @@ insert into t1 values ); #NO.2 test output of backup after some simple SQL operations ---exec $NDB_TOOLS_DIR/../src/mgmclient/ndb_mgm -e "start backup" |sed -e 's/[0-9]//g' |sed -e 's/localhost//g' |sed -e 's/\.\.\.*//g' +--exec $NDB_MGM --no-defaults -e "start backup" |sed -e 's/[0-9]//g' |sed -e 's/localhost//g' |sed -e 's/\.\.\.*//g' diff --git a/ndb/src/mgmclient/CommandInterpreter.cpp b/ndb/src/mgmclient/CommandInterpreter.cpp index a9e3dd48d97..8abce4f9cc4 100644 --- a/ndb/src/mgmclient/CommandInterpreter.cpp +++ b/ndb/src/mgmclient/CommandInterpreter.cpp @@ -772,6 +772,12 @@ CommandInterpreter::printError() /* * print log event from mgmsrv to console screen */ +#define make_uint64(a,b) (((Uint64)(a)) + (((Uint64)(b)) << 32)) +#define Q64(a) make_uint64(event->EVENT.a ## _lo, event->EVENT.a ## _hi) +#define R event->source_nodeid +#define Q(a) event->EVENT.a +#define QVERSION getMajor(Q(version)), getMinor(Q(version)), getBuild(Q(version)) +#define NDB_LE_(a) NDB_LE_ ## a static void printLogEvent(struct ndb_logevent* event) { @@ -779,71 +785,83 @@ printLogEvent(struct ndb_logevent* event) /** * NDB_MGM_EVENT_CATEGORY_BACKUP */ - case NDB_LE_BackupStarted: - ndbout_c("Backup %d started from node %d", - event->BackupStarted.backup_id, event->BackupStarted.starting_node); +#undef EVENT +#define EVENT BackupStarted + case NDB_LE_BackupStarted: + ndbout_c("Node %u: Backup %d started from node %d", + R, Q(backup_id), Q(starting_node)); break; +#undef EVENT +#define EVENT BackupFailedToStart case NDB_LE_BackupFailedToStart: - ndbout_c("Backup request from %d failed to start. Error: %d", - event->BackupFailedToStart.starting_node, event->BackupFailedToStart.error); + ndbout_c("Node %u: Backup request from %d failed to start. Error: %d", + R, Q(starting_node), Q(error)); break; +#undef EVENT +#define EVENT BackupCompleted case NDB_LE_BackupCompleted: - ndbout_c("Backup %u started from node %u completed\n" + ndbout_c("Node %u: Backup %u started from node %u completed\n" " StartGCP: %u StopGCP: %u\n" " #Records: %u #LogRecords: %u\n" - " Data: %u bytes Log: %u bytes", - event->BackupCompleted.backup_id, event->BackupCompleted.starting_node, - event->BackupCompleted.start_gci, event->BackupCompleted.stop_gci, - event->BackupCompleted.n_records, event->BackupCompleted.n_log_records, - event->BackupCompleted.n_bytes, event->BackupCompleted.n_log_bytes); + " Data: %u bytes Log: %u bytes", R, + Q(backup_id), Q(starting_node), + Q(start_gci), Q(stop_gci), + Q(n_records), Q(n_log_records), + Q(n_bytes), Q(n_log_bytes)); break; +#undef EVENT +#define EVENT BackupAborted case NDB_LE_BackupAborted: - ndbout_c("Backup %d started from %d has been aborted. Error: %d", - event->BackupAborted.backup_id, event->BackupAborted.starting_node, - event->BackupAborted.error); + ndbout_c("Node %u: Backup %d started from %d has been aborted. Error: %d", + R, Q(backup_id), Q(starting_node), Q(error)); break; /** * NDB_MGM_EVENT_CATEGORY_STARTUP */ +#undef EVENT +#define EVENT NDBStartStarted case NDB_LE_NDBStartStarted: - ndbout_c("Start initiated (version %d.%d.%d)", - getMajor(event->NDBStartStarted.version), - getMinor(event->NDBStartStarted.version), - getBuild(event->NDBStartStarted.version)); + ndbout_c("Node %u: Start initiated (version %d.%d.%d)", + R, QVERSION); break; +#undef EVENT +#define EVENT NDBStartCompleted case NDB_LE_NDBStartCompleted: - ndbout_c("Started (version %d.%d.%d)", - getMajor(event->NDBStartCompleted.version), - getMinor(event->NDBStartCompleted.version), - getBuild(event->NDBStartCompleted.version)); + ndbout_c("Node %u: Started (version %d.%d.%d)", + R, QVERSION); break; +#undef EVENT +#define EVENT NDBStopStarted case NDB_LE_NDBStopStarted: - ndbout_c("%s shutdown initiated", - (event->NDBStopStarted.stoptype == 1 ? "Cluster" : "Node")); + ndbout_c("Node %u: %s shutdown initiated", R, + (Q(stoptype) == 1 ? "Cluster" : "Node")); break; +#undef EVENT +#define EVENT NDBStopCompleted case NDB_LE_NDBStopCompleted: { BaseString action_str(""); BaseString signum_str(""); - getRestartAction(event->NDBStopCompleted.action, action_str); - if (event->NDBStopCompleted.signum) + getRestartAction(Q(action), action_str); + if (Q(signum)) signum_str.appfmt(" Initiated by signal %d.", - event->NDBStopCompleted.signum); - ndbout_c("Node shutdown completed%s.%s", - action_str.c_str(), - signum_str.c_str()); + Q(signum)); + ndbout_c("Node %u: Node shutdown completed%s.%s", + R, action_str.c_str(), signum_str.c_str()); } break; +#undef EVENT +#define EVENT NDBStopForced case NDB_LE_NDBStopForced: { BaseString action_str(""); BaseString reason_str(""); BaseString sphase_str(""); - int signum = event->NDBStopForced.signum; - int error = event->NDBStopForced.error; - int sphase = event->NDBStopForced.sphase; - int extra = event->NDBStopForced.extra; - getRestartAction(event->NDBStopForced.action, action_str); + int signum = Q(signum); + int error = Q(error); + int sphase = Q(sphase); + int extra = Q(extra); + getRestartAction(Q(action), action_str); if (signum) reason_str.appfmt(" Initiated by signal %d.", signum); if (error) @@ -860,13 +878,15 @@ printLogEvent(struct ndb_logevent* event) } if (sphase < 255) sphase_str.appfmt(" Occured during startphase %u.", sphase); - ndbout_c("Forced node shutdown completed%s.%s%s", - action_str.c_str(), sphase_str.c_str(), + ndbout_c("Node %u: Forced node shutdown completed%s.%s%s", + R, action_str.c_str(), sphase_str.c_str(), reason_str.c_str()); } break; +#undef EVENT +#define EVENT StopAborted case NDB_LE_NDBStopAborted: - ndbout_c("Node shutdown aborted"); + ndbout_c("Node %u: Node shutdown aborted", R); break; /** * default nothing to print