Commit graph

1,955 commits

Author SHA1 Message Date
unknown
805d73c597 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-03-29 08:36:57 +02:00
unknown
e3d3f3028f Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
2007-03-28 22:31:10 +02:00
unknown
a470f42a25 Merge chilla.local:/home/mydev/mysql-5.0-axmrg
into  chilla.local:/home/mydev/mysql-5.1-axmrg


mysql-test/r/heap_btree.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/heap_btree.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysys/thr_alarm.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item_func.cc:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/mi_range.c:
  Auto merged
storage/myisam/mi_search.c:
  Auto merged
storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbScanOperation.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
sql/mysqld.cc:
  Manual merge
2007-03-28 17:06:09 +02:00
unknown
fd34317983 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-03-28 16:59:09 +02:00
unknown
74519b9835 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-axmrg


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_servers.h:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
sql/sql_servers.cc:
  Manual merge
2007-03-28 16:57:08 +02:00
unknown
548aad2578 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug24985


storage/myisam/ha_myisam.cc:
  Auto merged
mysql-test/r/heap_btree.result:
  Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
              causes incorrect duplicate entries
  Manual merge from 5.0
mysql-test/t/heap_btree.test:
  Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
              causes incorrect duplicate entries
  Manual merge from 5.0
2007-03-27 17:59:49 +02:00
unknown
5e0ce03954 Merge chilla.local:/home/mydev/mysql-5.0-bug24985
into  chilla.local:/home/mydev/mysql-5.1-bug24985


mysql-test/r/heap_btree.result:
  Auto merged
mysql-test/t/heap_btree.test:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
2007-03-27 12:46:54 +02:00
unknown
e33f3709c8 Making sure thar archive is inited for info AUTO call.
storage/archive/ha_archive.cc:
  Adding init for HA_STATUS_AUTO call
2007-03-26 22:50:08 -07:00
unknown
ac8c78bbca Merge piggy:/home/brian/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/pread-archive-5.1


storage/archive/ha_archive.cc:
  Auto merged
2007-03-26 17:31:52 -07:00
unknown
ba63bc6841 Centralized init logic for starting a scan.
storage/archive/ha_archive.cc:
  Removed multiple execution logic
2007-03-26 17:15:31 -07:00
unknown
aaef396b5a Adjusting locks for concurrency issue (not found, but suspect).
storage/archive/ha_archive.cc:
  Adjusted lock positions to handle possible concurrency condition
2007-03-26 16:45:17 -07:00
unknown
cba5f9d95d Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


storage/ndb/include/ndbapi/NdbRecAttr.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  manual merge
storage/ndb/test/src/NDBT_Table.cpp:
  manual merge
2007-03-26 20:57:10 +02:00
unknown
e02aa04721 New comments, additional init for rebuild options.
storage/archive/ha_archive.cc:
  New comments, added specific init for rebuild options.
2007-03-25 11:38:49 -07:00
unknown
2e845944bd Merge clam.ndb.mysql.com:/export/space/pekka/ndb/version/my51-ndb
into  clam.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug24028


storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
  Auto merged
storage/ndb/test/src/UtilTransactions.cpp:
  Auto merged
2007-03-25 15:06:19 +02:00
unknown
99c5c28c3c BUG#26257 New Federated Server Functionality Doesn't support differently named tables
* Modified Federated memory allocation to use MEM_ROOT
* Modified sql_servers and federated to allocate share connection
  parameters to use MEM_ROOT
* Modified Federated to allow tablename in addition to server name
* Implicit flushing of tables using altered/dropped server name
* Added tests to prove new functionality works

Contributors to this patch: Patrick Galbraith, Antony Curtis


mysql-test/r/federated_server.result:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
    New test results
mysql-test/t/federated_server.test:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  New test which ensures that one can use the new 'create server'
  functionality and have tables point to the correct table, using CONNECTION='server',
  CONNECTION="server/tablename" and CONNECTION="mysql://...url"
sql/mysql_priv.h:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  new function: close_cached_connection_tables()
sql/sql_base.cc:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  new function: close_cached_connection_tables()
    closes all open tables which match connection string
    provides functionality to allow flushing of altered/dropped server names.
sql/sql_servers.cc:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  * Added function clone_server() to allocate a new server for use by
    get_server_by_name() when creating a federated table
  
  * Now using MEM_ROOT allocation (mark and sweep) to account for meta
    data parameters being allocated properly, particularly with regards to
    to SERVER object. Also cleans up code allocating share.
  
  * Tables using the old definition of server name are now flushed on successful
    execution of ALTER/DROP SERVER.
  
  style: fixed some line-wrapping
sql/sql_servers.h:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  * change in prototype to get_server_by_name()
    caller can now provide mem_root which strings will be copied in to.
storage/federated/ha_federated.cc:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  * Simplified share and share member memory allocaton to use MEM_ROOT
  * Modified parse_url to parse table names along with server names
storage/federated/ha_federated.h:
  BUG #26257 New Federated Server Functionality Doesn't support differently named tables
  
  * Added MEM_ROOT share member
2007-03-24 01:18:19 -07:00
unknown
f50049883b Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/bk/mysql-5.1-arch
2007-03-23 19:05:48 -07:00
unknown
89f5507389 Added delayed open of file descriptors to cut down on issues surrounding large collections of partitions being open by many threads.
storage/archive/azlib.h:
  Adjusted the buffer down to something reasonable :)
storage/archive/ha_archive.cc:
  Upgraded file descriptors to not be opened until needed.
storage/archive/ha_archive.h:
  New methods for delayed open
2007-03-23 18:51:56 -07:00
unknown
4d3291e62c Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


storage/ndb/include/util/OutputStream.hpp:
  Auto merged
2007-03-23 21:50:57 +01:00
unknown
14a3a61ad9 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-single-user
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
mysql-test/r/ndb_single_user.result:
  manual merge
mysql-test/t/disabled.def:
  manual merge
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  manual merge
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  manual merge
2007-03-23 17:17:44 +01:00
unknown
8503077e6d BUG#27254: Single User Mode.Mysql hangs if it tries delete a ndb table
sql/ha_ndbcluster.cc:
  set single user mode on ndb schema table
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  dbug print
2007-03-23 17:12:06 +01:00
unknown
378b47a30d Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-gca-single-user
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
2007-03-23 17:09:10 +01:00
unknown
cdb16d2fc8 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-telco-gca-single-user
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-gca-single-user


storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
2007-03-23 17:08:33 +01:00
unknown
a96a0cd68a Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-gca-single-user
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
2007-03-23 14:17:08 +01:00
unknown
cee179c10b correction of merge 2007-03-23 14:16:31 +01:00
unknown
4b1ff9070c Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-telco-gca-single-user
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-gca-single-user


storage/ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionary.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  manual merge
storage/ndb/include/ndb_constants.h:
  manual merge
storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  manual merge
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  manual merge
storage/ndb/test/src/NDBT_Table.cpp:
  manual merge
2007-03-23 14:06:00 +01:00
unknown
09e4d0279e Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug26782
2007-03-23 10:27:33 +01:00
unknown
ab785bfe5b Bug#26782 - Patch: myisamchk -rq creates .MYI.MYI file on packed MyISAM tables
After merge fix
In conjunction with the newest 5.1 we always need to
create a real path name to be able to detect already
open tables.
2007-03-23 10:26:14 +01:00
unknown
9fb4f3cda8 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


sql/ha_ndbcluster.cc:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
2007-03-23 08:20:36 +01:00
unknown
65401f9197 WL#3704 mgmapi timeouts: fix compile warning
storage/ndb/src/mgmapi/mgmapi.cpp:
  fix compile warning - signed and unsigned comparison
2007-03-23 15:25:58 +11:00
unknown
eebba6a2c4 After merge fix 2007-03-22 21:28:28 +01:00
unknown
0b7ba9c2dc Merge siva.hindu.god:/home/tsmith/m/bk/maint/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/51


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
storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Manual merge (res.waitNodesStartPhase -> NdbSleep_SecSleep)
2007-03-22 11:48:49 -06:00
unknown
d5414e9f06 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug26996
2007-03-22 16:57:07 +01:00
unknown
6d7a573b29 [PATCH] WL#3704 mgmapi timeouts: Fix error insert to NOT_STARTED nodes
Turns out I broke it.

Index: ndb-work/storage/ndb/src/mgmsrv/MgmtSrvr.cpp
===================================================================


storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  WL#3704 mgmapi timeouts: Fix error insert to NOT_STARTED nodes
2007-03-22 22:36:43 +11:00
unknown
38b044d49d [PATCH] WL#3704 mgmapi timeouts: Print full error from mgmd in NdbRestarter errors
Turns out they can be useful in working out what's going wrong.

Index: ndb-work/storage/ndb/test/src/NdbRestarter.cpp
===================================================================


storage/ndb/test/src/NdbRestarter.cpp:
  WL#3704 mgmapi timeouts: Print full error from mgmd in NdbRestarter errors
2007-03-22 22:36:31 +11:00
unknown
fd4862cf23 [PATCH] WL#3704 mgmapi timeouts: Fix infinite (0) timeout for ndb_logevent_get_next
Index: ndb-work/storage/ndb/src/mgmapi/ndb_logevent.cpp
===================================================================


storage/ndb/src/mgmapi/ndb_logevent.cpp:
  WL#3704 mgmapi timeouts: Fix infinite (0) timeout for ndb_logevent_get_next
2007-03-22 22:36:19 +11:00
unknown
7e00600a40 [PATCH] WL#3704 mgmapi timeouts: For mgm server, have timeout per operation, not for entire connection (i.e. fix the bug)
for TransporterRegistry, keep connection to management server alive.


Index: ndb-work/storage/ndb/include/util/InputStream.hpp
===================================================================


storage/ndb/include/util/InputStream.hpp:
  WL#3704 mgmapi timeouts: For mgm server, have timeout per operation, not for entire connection (i.e. fix the bug)
storage/ndb/include/util/OutputStream.hpp:
  WL#3704 mgmapi timeouts: For mgm server, have timeout per operation, not for entire connection (i.e. fix the bug)
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
  WL#3704 mgmapi timeouts: For mgm server, have timeout per operation, not for entire connection (i.e. fix the bug)
storage/ndb/src/mgmsrv/Services.cpp:
  WL#3704 mgmapi timeouts: For mgm server, have timeout per operation, not for entire connection (i.e. fix the bug)
2007-03-22 22:36:07 +11:00
unknown
c4dd23f74a [PATCH] WL#3704 mgmapi timeouts: Correct cpc client usage of Socket Input/OutputStream for timeouts
Index: ndb-work/storage/ndb/include/util/InputStream.hpp
===================================================================


storage/ndb/include/util/InputStream.hpp:
  WL#3704 mgmapi timeouts: Correct cpc client usage of Socket Input/OutputStream for timeouts
storage/ndb/test/include/CpcClient.hpp:
  WL#3704 mgmapi timeouts: Correct cpc client usage of Socket Input/OutputStream for timeouts
storage/ndb/test/src/CpcClient.cpp:
  WL#3704 mgmapi timeouts: Correct cpc client usage of Socket Input/OutputStream for timeouts
2007-03-22 22:35:55 +11:00
unknown
5c529b6675 [PATCH] WL#3704 mgmapi timeouts: Add MGMAPI tests to autotest daily run
Index: ndb-work/storage/ndb/test/run-test/daily-basic-tests.txt
===================================================================


storage/ndb/test/run-test/daily-basic-tests.txt:
  WL#3704 mgmapi timeouts: Add MGMAPI tests to autotest daily run
2007-03-22 22:35:43 +11:00
unknown
09bbc26507 [PATCH] WL#3704 mgmapi timeouts: update NDBAPI usage of mgmapi for timeouts
Default timout of 30secs for ConfigRetriever

Default timout of 5sec for use by Transporter (ports etc).

And Ndb_cluster_connection::set_timeout() api for setting timeout from
NDBAPI applications. Should be called before connect. e.g.

c.set_timeout(4200);
c.connect();

Index: ndb-work/storage/ndb/include/mgmcommon/ConfigRetriever.hpp
===================================================================


storage/ndb/include/mgmcommon/ConfigRetriever.hpp:
  WL#3704 mgmapi timeouts: update NDBAPI usage of mgmapi for timeouts
storage/ndb/include/ndbapi/ndb_cluster_connection.hpp:
  WL#3704 mgmapi timeouts: update NDBAPI usage of mgmapi for timeouts
storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  WL#3704 mgmapi timeouts: update NDBAPI usage of mgmapi for timeouts
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
  WL#3704 mgmapi timeouts: update NDBAPI usage of mgmapi for timeouts
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
  WL#3704 mgmapi timeouts: update NDBAPI usage of mgmapi for timeouts
2007-03-22 22:35:31 +11:00
unknown
a69b2aa7d4 [PATCH] WL#3704 mgmapi timeouts: use timeouts in mgm client
as side effect - turbo accellerator patch for ndb_mgm - sholud make it quicker... so that 4mhz cpu will seem even faster.

Index: ndb-work/storage/ndb/src/mgmclient/CommandInterpreter.cpp
===================================================================


storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  WL#3704 mgmapi timeouts: use timeouts in mgm client
2007-03-22 22:35:19 +11:00
unknown
aa8b15b70b [PATCH] WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
use portable method, getting milliseconds between calls - Linux would
let us do funky stuff by getting the timeout from select(2). Everywhere
else sucks and doesn't let us do that :(

Index: ndb-work/storage/ndb/include/util/InputStream.hpp
===================================================================


storage/ndb/include/util/InputStream.hpp:
  WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
storage/ndb/include/util/OutputStream.hpp:
  WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
storage/ndb/include/util/socket_io.h:
  WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
storage/ndb/src/common/util/InputStream.cpp:
  WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
storage/ndb/src/common/util/OutputStream.cpp:
  WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
storage/ndb/src/common/util/socket_io.cpp:
  WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
storage/ndb/src/mgmsrv/Services.cpp:
  WL#3704 mgmapi timeouts: Change to have total timeout for call, not per request
2007-03-22 22:35:07 +11:00
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