Commit graph

44348 commits

Author SHA1 Message Date
unknown
c59722ad83 [PATCH] WL#3704 mgmapi timeouts: clarify multiple mgmd connect timeout semantics
Index: ndb-work/storage/ndb/include/mgmapi/mgmapi.h
===================================================================


storage/ndb/include/mgmapi/mgmapi.h:
  WL#3704 mgmapi timeouts: clarify multiple mgmd connect timeout semantics
storage/ndb/src/mgmapi/mgmapi.cpp:
  WL#3704 mgmapi timeouts: clarify multiple mgmd connect timeout semantics
2007-03-22 22:34:55 +11:00
unknown
e26da089a0 [PATCH] WL#3704 mgmapi timeouts: consolidate NdbMgmHandle timeouts into one
Only one timeout value is needed. Also saves 8bytes per NdbMgmHandle :)

Index: ndb-work/storage/ndb/include/mgmapi/mgmapi.h
===================================================================


storage/ndb/include/mgmapi/mgmapi.h:
  WL#3704 mgmapi timeouts: consolidate NdbMgmHandle timeouts into one
storage/ndb/src/mgmapi/mgmapi.cpp:
  WL#3704 mgmapi timeouts: consolidate NdbMgmHandle timeouts into one
2007-03-22 22:34:43 +11:00
unknown
1ff37f9143 [PATCH] WL#3704 mgmapi timeouts: Test for structured events timeouts (with err injection).
Index: ndb-work/storage/ndb/test/ndbapi/testMgm.cpp
===================================================================


storage/ndb/test/ndbapi/testMgm.cpp:
  WL#3704 mgmapi timeouts: Test for structured events timeouts (with err injection).
2007-03-22 22:34:31 +11:00
unknown
7652e96fff [PATCH] WL#3704 mgmapi timeouts: manipulate some things to get infrastructure for event timeouts
Index: ndb-work/storage/ndb/src/mgmsrv/MgmtSrvr.cpp
===================================================================


storage/ndb/src/mgmsrv/ERROR_codes.txt:
  WL#3704 mgmapi timeouts: manipulate some things to get infrastructure for event timeouts
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  WL#3704 mgmapi timeouts: manipulate some things to get infrastructure for event timeouts
storage/ndb/src/mgmsrv/Services.cpp:
  WL#3704 mgmapi timeouts: manipulate some things to get infrastructure for event timeouts
storage/ndb/test/ndbapi/testMgm.cpp:
  WL#3704 mgmapi timeouts: manipulate some things to get infrastructure for event timeouts
2007-03-22 22:34:19 +11:00
unknown
80220f7060 [PATCH] WL#3704 mgmapi timeouts: renumber mgmd err insert to not have duplicates.
Also add an ERROR_codes.txt file for mgmd

Index: ndb-work/storage/ndb/src/mgmsrv/ERROR_codes.txt
===================================================================


storage/ndb/src/mgmsrv/Services.cpp:
  WL#3704 mgmapi timeouts: renumber mgmd err insert to not have duplicates.
storage/ndb/test/ndbapi/testMgm.cpp:
  WL#3704 mgmapi timeouts: renumber mgmd err insert to not have duplicates.
storage/ndb/src/mgmsrv/ERROR_codes.txt:
  WL#3704 mgmapi timeouts: renumber mgmd err insert to not have duplicates.
2007-03-22 22:34:08 +11:00
unknown
446e5b36d7 [PATCH] WL#3704 mgmapi timeouts: Return sane errors for timeout in mgmapi
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
2007-03-22 22:33:56 +11:00
unknown
8293b317d1 [PATCH] WL#3704 mgmapi timeouts: Add bool timeout flag to Streams
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
2007-03-22 22:33:43 +11:00
unknown
45f698c551 [PATCH] WL#3704 mgmapi timeouts: Rename inputstream timeout
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
2007-03-22 22:33:31 +11:00
unknown
ef41a27c9b [PATCH] WL#3704 mgmapi timeouts: add ndb_mgm_set_timeout(h,ms)
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)
2007-03-22 22:33:19 +11:00
unknown
b3dd80dd59 [PATCH] WL#3704 mgmapi timeouts: Add ndb_mgmd error injection
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
2007-03-22 22:33:07 +11:00
unknown
9f10e20f3f [PATCH] WL#3704 mgmapi timeouts: use NdbMgmHandle write_timeout
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
2007-03-22 22:32:54 +11:00
unknown
582b0ba867 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
2007-03-22 11:23:47 +01:00
unknown
5118e111f5 Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
2007-03-22 11:21:26 +01:00
unknown
ec2639f4ec ndb -
fix testprg


storage/ndb/test/ndbapi/testNodeRestart.cpp:
  fix testprg
2007-03-22 11:20:38 +01:00
unknown
c2bb8446bc ndb - fix test prg 2007-03-22 11:17:57 +01:00
unknown
f9771a0ab3 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
2007-03-22 11:13:21 +01:00
unknown
4dee1e6a97 ndb -
fix test prg


ndb/test/ndbapi/testNodeRestart.cpp:
  fix test prg
2007-03-22 11:12:18 +01:00
unknown
7403890a4c Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb


storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
2007-03-22 10:36:26 +01:00
unknown
4e288dc3cf Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-03-22 10:34:46 +01:00
unknown
e4903c29cf Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb


storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
2007-03-22 10:33:26 +01:00
unknown
04c8e7e48a Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
2007-03-22 05:45:17 +01:00
unknown
8f69cbdb2e Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-03-22 05:44:39 +01:00
unknown
fd2996ad32 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-03-22 01:22:22 +01:00
unknown
b636ad25c7 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1
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
2007-03-22 01:04:39 +01:00
unknown
b203723bd8 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-03-21 23:58:02 +01:00
unknown
8ed9a54008 Update the result file with an updated comment. 2007-03-22 00:11:58 +03:00
unknown
c4311efa06 Merge bodhi.local:/opt/local/work/mysql-5.0-runtime
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2007-03-22 00:11:11 +03:00
unknown
20fd65ff83 Try to fix events_logs_tests race on Windows.
mysql-test/t/events_logs_tests.test:
  Try to fix a race condition that breaks this test on Windows.
2007-03-22 00:09:50 +03:00
unknown
817442e873 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2007-03-21 23:59:37 +03:00
unknown
54a0f623c7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-03-21 23:57:12 +03:00
unknown
e772a22d40 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  recycle.(none):/src/bug27144/my50-bug27144
2007-03-21 14:46:38 -04:00
unknown
9e6d54e4a5 Merge recycle.(none):/src/bug27144/my50-bug27144
into  recycle.(none):/src/bug27144/my51-bug27144


mysql-test/t/sp-destruct.test:
  SCCS merged
2007-03-21 14:01:39 -04:00
unknown
65c34cc855 Bug#27144 sp-destruct.test is disabled on Windows
- 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.
2007-03-21 13:58:11 -04:00
unknown
4390f78889 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  recycle.(none):/src/bug23736/my50-bug23736
2007-03-21 13:43:03 -04:00
unknown
2608804665 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint
into  recycle.(none):/src/bug23736/my51-bug23736
2007-03-21 13:39:08 -04:00
unknown
858ff63811 Fix warnings on Windows.
sql/event_data_objects.cc:
  Fix Windows 64 bit build warnings. No better fix exists at the moment.
2007-03-21 20:32:15 +03:00
unknown
33a51fd843 Fix a broken merge.
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).
2007-03-21 19:20:44 +03:00
unknown
a1368c8e16 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
2007-03-21 15:37:14 +01:00
unknown
2d3b2458fe Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
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
2007-03-21 15:36:23 +01:00
unknown
b278b21030 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
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
2007-03-21 15:35:22 +01:00
unknown
f5acedb6a7 ndb - bug#27283
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
2007-03-21 15:34:47 +01:00
unknown
d344d81c95 Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
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
2007-03-21 14:34:25 +01:00
unknown
2176fef446 Merge bk-internal:/home/bk/mysql-5.0-maint
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
2007-03-21 14:30:47 +01:00
unknown
ed0badb128 Merge bk-internal:/home/bk/mysql-5.1-new-maint
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
2007-03-21 14:24:50 +01:00
unknown
94a40d6c39 Merge dsl-hkibras1-ff1dc300-249.dhcp.inet.fi:/home/elkin/MySQL/MAIN/mysql-5.1-build
into  dsl-hkibras1-ff1dc300-249.dhcp.inet.fi:/home/elkin/MySQL/MAIN/mysql-5.1-new-maint
2007-03-21 13:16:03 +02:00
unknown
6fb9ef87e3 Merge dsl-hkibras1-ff1dc300-249.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/bug26079_binlog_max_innodb
into  dsl-hkibras1-ff1dc300-249.dhcp.inet.fi:/home/elkin/MySQL/MAIN/mysql-5.1-new-maint


sql/log.cc:
  Auto merged
2007-03-21 13:14:12 +02:00
unknown
f58baa6a28 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-03-21 09:28:37 +01:00
unknown
f397b42288 mysqlbinlog-cp932.test:
merging


mysql-test/t/mysqlbinlog-cp932.test:
  merging
2007-03-21 09:28:26 +01:00
unknown
01fe2589be Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
2007-03-21 09:28:22 +01:00
unknown
a7d1bd9f17 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-03-21 09:27:13 +01:00