- 22 Mar, 2007 19 commits
-
-
unknown authored
In ndb_mgm_call, add checks for expired timeout in (Input|Output)Stream. In case of timeout, we set NdbMgmHandle->last_error and return NULL. In api calls not using ndb_mgm_call (or using it in conjunction with own IO), they'll need to check for timeouts manually. Macros are provided to do this. Add ndb_mgm_disconnect_quiet(h) to disconnect without checking errors (so we don't clobber NdbMgmHandle->last_error). This helps us provide the *consistent* semantic that on timeout we leave the NdbMgmHandle *disconnected*. We check for this in testMgm. Change CHECK_REPLY in mgmapi to also check for set error in handle->last_error This will pick up the ETIMEDOUT errors and return them to client (through returning correct failure code for API call and setting NdbMgmHandle error). Applications written to MGMAPI before this patch will behave as before, and even hopefully check get_last_error and report the error back to the end user! Adding the last CHECK_TIMEDOUT_RET and delete in ndb_mgm_call() we slightly change behaviour of mgmapi. Previously, if disconnect midway through a reply, where there were only optional parameters left, we'd get a Properties object from ndb_mgm_call() containing NULLs for the optional parameters, leading to interesting error messages. This enables the returning of the *real* message and actually improves the API without breaking compatibility. ndb_mgm_start_signallog ndb_mgm_stop_signallog ndb_mgm_log_signals ndb_mgm_set_trace ndb_mgm_insert_error ndb_mgm_set_int64_parameter [1] ndb_mgm_set_string_parameter [1] ndb_mgm_purge_stale_sessions [2] - return error code on error during ndb_mgm_call TODO: ndb_mgm_report_event [2] [1] marked for removal, unused. [2] return codes incorrect in CHECK_HANDLE/CONNECTED. undocumented. Server side: in Services (per session) add macro for injecting timeout error (just waiting 10 seconds before continuing... it does work!) We inject these errors in a number of critical places - including the tricky api functions that don't just use ndb_mgm_call but do their own thing (get_config, get_status and friends) ATRT: Expand testMgm to add timout tests for API. Fully automated. *THEORETICALLY* timing dependent - an ultra-slow network will cause problems and "fake" failures... I welcome other solutions. Tests aren't exhaustive, but cover the generics and the tricky bits. Also test some calling semantics (incl disconnected on error). It is encouraged to add *more* mgmapi tests, not less :) InputStream: Fix where timedout error is set Index: ndb-work/storage/ndb/src/mgmapi/mgmapi.cpp =================================================================== storage/ndb/src/common/util/InputStream.cpp: WL#3704 mgmapi timeouts: Return sane errors for timeout in mgmapi storage/ndb/src/mgmapi/mgmapi.cpp: WL#3704 mgmapi timeouts: Return sane errors for timeout in mgmapi storage/ndb/src/mgmapi/mgmapi_internal.h: WL#3704 mgmapi timeouts: Return sane errors for timeout in mgmapi storage/ndb/src/mgmsrv/Services.cpp: WL#3704 mgmapi timeouts: Return sane errors for timeout in mgmapi storage/ndb/test/ndbapi/testMgm.cpp: WL#3704 mgmapi timeouts: Return sane errors for timeout in mgmapi
-
unknown authored
Index: ndb-work/storage/ndb/include/util/InputStream.hpp =================================================================== storage/ndb/include/util/InputStream.hpp: WL#3704 mgmapi timeouts: Add bool timeout flag to Streams storage/ndb/include/util/OutputStream.hpp: WL#3704 mgmapi timeouts: Add bool timeout flag to Streams storage/ndb/src/common/util/InputStream.cpp: WL#3704 mgmapi timeouts: Add bool timeout flag to Streams storage/ndb/src/common/util/OutputStream.cpp: WL#3704 mgmapi timeouts: Add bool timeout flag to Streams storage/ndb/src/mgmsrv/Services.cpp: WL#3704 mgmapi timeouts: Add bool timeout flag to Streams storage/ndb/test/ndbapi/testMgm.cpp: WL#3704 mgmapi timeouts: Add bool timeout flag to Streams
-
unknown authored
Index: ndb-work/storage/ndb/include/util/InputStream.hpp =================================================================== storage/ndb/include/util/InputStream.hpp: WL#3704 mgmapi timeouts: Rename inputstream timeout storage/ndb/src/common/util/InputStream.cpp: WL#3704 mgmapi timeouts: Rename inputstream timeout
-
unknown authored
Add not so neat set_timeout call to make testMgm work Index: ndb-work/storage/ndb/include/mgmapi/mgmapi.h =================================================================== storage/ndb/include/mgmapi/mgmapi.h: WL#3704 mgmapi timeouts: add ndb_mgm_set_timeout(h,ms) storage/ndb/src/mgmapi/mgmapi.cpp: WL#3704 mgmapi timeouts: add ndb_mgm_set_timeout(h,ms) storage/ndb/test/ndbapi/testMgm.cpp: WL#3704 mgmapi timeouts: add ndb_mgm_set_timeout(h,ms)
-
unknown authored
Add error injection either for this connection or for whole server. Currently nothing for injecting errors into *another* connection... but that's perhaps getting tricky-dicky for this point in time. Perhaps needed for events if we don't do anything fancy. Index: ndb-work/storage/ndb/src/mgmsrv/MgmtSrvr.cpp =================================================================== storage/ndb/src/mgmsrv/MgmtSrvr.cpp: WL#3704 mgmapi timeouts: Add ndb_mgmd error injection storage/ndb/src/mgmsrv/MgmtSrvr.hpp: WL#3704 mgmapi timeouts: Add ndb_mgmd error injection storage/ndb/src/mgmsrv/Services.cpp: WL#3704 mgmapi timeouts: Add ndb_mgmd error injection storage/ndb/src/mgmsrv/Services.hpp: WL#3704 mgmapi timeouts: Add ndb_mgmd error injection storage/ndb/test/ndbapi/testMgm.cpp: WL#3704 mgmapi timeouts: Add ndb_mgmd error injection
-
unknown authored
Start using the write_timeout we already have in NdbMgmHandle Index: ndb-work/storage/ndb/src/mgmapi/mgmapi.cpp =================================================================== storage/ndb/src/mgmapi/mgmapi.cpp: WL#3704 mgmapi timeouts: use NdbMgmHandle write_timeout
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb storage/ndb/test/ndbapi/testNodeRestart.cpp: Auto merged
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb storage/ndb/test/ndbapi/testNodeRestart.cpp: Auto merged
-
unknown authored
fix testprg storage/ndb/test/ndbapi/testNodeRestart.cpp: fix testprg
-
unknown authored
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
-
unknown authored
fix test prg ndb/test/ndbapi/testNodeRestart.cpp: fix test prg
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51 include/my_global.h: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/help.result: Auto merged mysql-test/t/help.test: Auto merged sql/mysql_priv.h: Auto merged sql/sql_class.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
- 21 Mar, 2007 21 commits
-
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
-
unknown authored
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.1-runtime
-
unknown authored
mysql-test/t/events_logs_tests.test: Try to fix a race condition that breaks this test on Windows.
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.1-runtime
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.0-runtime
-
unknown authored
into recycle.(none):/src/bug27144/my50-bug27144
-
unknown authored
into recycle.(none):/src/bug27144/my51-bug27144 mysql-test/t/sp-destruct.test: SCCS merged
-
unknown authored
- Update test to run properly on Windows. mysql-test/t/sp-destruct.test: Bug#27144 sp-destruct.test is disabled on Windows - Enabled test on Windows. - Replaced non-portable system commands (mkdir, rmdir, mv, cp, echo) with the mysqltest builtin commands. - Replace Windows directory seperator in error ER_NOT_FROM_FILE with posix directory seperator for single test/result pair.
-
unknown authored
into recycle.(none):/src/bug23736/my50-bug23736
-
unknown authored
into recycle.(none):/src/bug23736/my51-bug23736
-
unknown authored
sql/event_data_objects.cc: Fix Windows 64 bit build warnings. No better fix exists at the moment.
-
unknown authored
scripts/mysql_system_tables.sql: Add time_zone to the list of mysql.event columns. scripts/mysql_system_tables_fix.sql: Update after a bad merge: now mysql_system_tables_fix contains only alter definitions, no CREATE definitions (single definition source approach that was implemented by Magnus).
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Auto merged
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Auto merged
-
unknown authored
Additional fix for 2-node case ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Add error insert ref for errcode = 7181 ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint BitKeeper/etc/ignore: auto-union BitKeeper/deleted/.del-init_db.sql~e2b8d0c8390e8023: Auto merged BitKeeper/deleted/.del-test_db.sql: Auto merged scripts/make_binary_distribution.sh: Auto merged sql/mysql_priv.h: Auto merged sql/sql_acl.h: Auto merged mysql-test/install_test_db.sh: Manual merge mysql-test/mysql-test-run.pl: Manual merge netware/Makefile.am: Manual merge
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint BitKeeper/etc/ignore: auto-union BitKeeper/deleted/.del-init_db.sql~e2b8d0c8390e8023: Auto merged BitKeeper/deleted/.del-test_db.sql: Auto merged mysql-test/install_test_db.sh: Auto merged mysql-test/mysql-test-run.pl: Auto merged scripts/make_binary_distribution.sh: Auto merged sql/mysql_priv.h: Auto merged sql/sql_acl.h: Auto merged netware/Makefile.am: Manual merge
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint BitKeeper/etc/ignore: auto-union BitKeeper/deleted/.del-init_db.sql~e2b8d0c8390e8023: Auto merged BitKeeper/deleted/.del-test_db.sql: Auto merged include/my_pthread.h: Auto merged mysql-test/mysql-test-run.pl: Auto merged scripts/make_binary_distribution.sh: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_acl.h: Auto merged mysql-test/install_test_db.sh: Manual merge mysql-test/r/flush2.result: Manual merge netware/Makefile.am: Manual merge
-
unknown authored
into dsl-hkibras1-ff1dc300-249.dhcp.inet.fi:/home/elkin/MySQL/MAIN/mysql-5.1-new-maint
-