Commit graph

42 commits

Author SHA1 Message Date
unknown
f4b5600083 WL#2347 - Load independent heartbeats
Reset missed heartbeat count on receipt of signal from node.

This fixes a bug where that under high network load, the heartbeat packets could be
delayed, causing the appearance of node failure (due to lost heartbeats).


ndb/include/kernel/NodeInfo.hpp:
  Add m_heartbeat_cnt to track missed heartbeats
ndb/include/transporter/TransporterCallback.hpp:
  add prototype for transporter_recv_from()
  
  Called on receipt from a node.
ndb/src/common/transporter/TransporterRegistry.cpp:
  Add calls to transporter_receive_from when data is received (before unpack)
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  remove NodeRec::alarmCount. missed heartbeat count now kept in NodeInfo
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Use NodeInfo::m_heartbeat_cnt for missed heartbeat count
ndb/src/kernel/vm/TransporterCallback.cpp:
  add transporter_recv_from(), which is called on receipt of signals.
  It resets missed heartbeat count for that node.
ndb/src/ndbapi/ClusterMgr.cpp:
  Use NodeInfo::m_heartbeat_cnt for missed heartbeat count
ndb/src/ndbapi/ClusterMgr.hpp:
  Use NodeInfo::m_heartbeat_cnt instead of ClusterMgr::Node::hbSent for missed
  heartbeat count.
  
  We now use the same storage for API and Kernel heartbeats.
  
  Add ClusterMgr::hb_received(nodeId) to reset hbSent (as if we received a heartbeat,
  but callable from elsewhere - e.g. when signal received)
ndb/src/ndbapi/TransporterFacade.cpp:
  Implement transporter_recv_from for ndbapi - which resets hbSent
ndb/src/ndbapi/TransporterFacade.hpp:
  Add hb_received(nodeId)
2005-07-22 20:29:25 +10:00
unknown
51229d4ba2 Merge
mysql-test/t/ctype_utf8.test:
  Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Auto merged
ndb/src/common/transporter/Transporter.hpp:
  Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
ndb/include/transporter/TransporterRegistry.hpp:
  SCCS merged
ndb/src/common/transporter/Transporter.cpp:
  SCCS merged
2005-07-15 14:13:23 +02:00
unknown
22b6dec5ec BUG#11596 (partial fix), IP addresses not shown in ndb_mgm SHOW command on second ndb_mgmd (or on ndb_mgmd restart) 2005-07-15 10:44:54 +02:00
unknown
7a5ec7606d Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  linux.site:/home/marty/MySQL/mysql-5.0


BitKeeper/etc/logging_ok:
  auto-union
configure.in:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysys/default.c:
  Auto merged
ndb/include/transporter/TransporterDefinitions.hpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/test/ndbapi/testBlobs.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
2005-06-30 12:20:52 +02:00
unknown
c658b990b8 Bug #11221 Mysqld does not automatically reconnecting to cluster with cluster restart 2005-06-15 12:29:55 +02:00
unknown
f44acb04a9 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-ndb
into neptunus.(none):/home/msvensson/mysql/bug9626


ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
2005-06-02 14:57:46 +02:00
unknown
3d238b811d BUG#9626 Several serious errors reported by Valgrind in latest 5.0 bk tree
- Remove declaration of MAX_SECTION_SIZE


ndb/include/transporter/TransporterDefinitions.hpp:
  Remove declaration of MAX_SECTION_SIZE
2005-06-02 14:34:43 +02:00
unknown
cf4cbe079e merge
ndb/src/common/transporter/SCI_Transporter.cpp:
  Auto merged
ndb/src/common/transporter/SCI_Transporter.hpp:
  Auto merged
ndb/src/common/transporter/SHM_Transporter.cpp:
  Auto merged
ndb/src/common/transporter/SHM_Transporter.hpp:
  Auto merged
ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
ndb/src/common/transporter/TCP_Transporter.hpp:
  Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
ndb/test/ndbapi/testNdbApi.cpp:
  Auto merged
2005-05-26 22:10:43 +02:00
unknown
68bd14d0f3 ndb - Embryo of overload protection
Add method to query free send buffer size


ndb/include/transporter/TransporterRegistry.hpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/SCI_Transporter.cpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/SCI_Transporter.hpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/SHM_Buffer.hpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/SHM_Transporter.cpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/SHM_Transporter.hpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/SendBuffer.cpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/SendBuffer.hpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/TCP_Transporter.cpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/TCP_Transporter.hpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/Transporter.hpp:
  Allow accessing free send buffer size
ndb/src/common/transporter/TransporterRegistry.cpp:
  Allow accessing free send buffer size
ndb/src/mgmsrv/ConfigInfo.cpp:
  Increse min values for SHM and TCP transport send buffer size
2005-05-25 16:19:17 +02:00
unknown
384456fc10 BUG#9626 valgrind warnings
- after review fixes


mysql-test/r/ndb_basic.result:
  Test using table with long name
mysql-test/t/ndb_basic.test:
  Test using table with long name
ndb/include/transporter/TransporterDefinitions.hpp:
  Define constant for max section size
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Add check for not sending too long table name to ndb kernel
2005-05-19 20:38:48 +02:00
unknown
9bc6ed86cc Fixes for: use initial mgm connection as transporter connection
ndb/include/mgmapi/mgmapi.h:
  ndb_mgm_convert_to_transporter may destroy the handle, now takes a pointer.
ndb/include/mgmcommon/ConfigRetriever.hpp:
  If outside code is going to manipulate the NdbMgmHandle, allow it to do it
  via a get_mgmHandlePtr() call
ndb/include/transporter/TransporterRegistry.hpp:
  connect_client and connect_ndb_mgmd may destroy the handle, now they take a pointer.
ndb/src/common/transporter/TransporterRegistry.cpp:
  When start_service is binding to ports, report back the port numbers.
  
  We need this here now, as we re-use the initial mgm connection as a transporter, which
  is connected *before* start_service has allocated the dynamic port numbers. So the creation
  of this early transporter cannot be used to send the dynamic ports to the mgmd.
  
  We connect to the mgm server (using the handle that will be used in the client_Connect thread)
  if needed. This is thread safe as start_service is only ever called once, before
  the client connect thread starts.
  
  connect_client,connect_ndb_mgmd may destroy the NdbMgmHandle. It now accepts a pointer to it.
ndb/src/kernel/vm/Configuration.cpp:
  Copy the m_mgmd_host string from the config_retreiver as the NdbMgmHandle in the
  ConfigRetreiver will be destroyed later (along with the host string).
  
  globalTransporterRegistry.connect_client will destroy the mgm handle, use a pointer to the handle.
ndb/src/kernel/vm/Configuration.hpp:
  allow the dynamic allocation of m_mgmd_host.
ndb/src/mgmapi/mgmapi.cpp:
  accept a pointer for ndb_mgm_convert_to_transporter as we destroy the handle.
2005-02-24 17:57:22 +11:00
unknown
bb5a2f280f Use the mgm connection used for fetching configuration as a transporter.
ndb/include/mgmapi/mgmapi.h:
  Add mgmapi call: ndb_mgm_get_mgmd_nodeid()
  
  - returns the node id that the handle is connected to.
  - returns 0 on error.
ndb/include/transporter/TransporterRegistry.hpp:
  Add TransporterRegistry::connect_client(NdbMgmHandle h)
   - uses a connected NdbMgmHandle to connect to the mgm server as a client.
   - sets up a transporter connection
   - used to transform the initial mgm connection (used for fetching configuration)
     into a transporter connection
  
  Added connect_ndb_mgmd(NdbMgmHandle h)
   - turn the supplied mgm connection into a transporter connection
   - return the socket
  
  Improve comments on connect_ndb_mgmd(SocketClient)
ndb/src/common/transporter/Transporter.cpp:
  Add Transporter::connect_client(NDB_SOCKET_TYPE)
   - use an existing socket to make a transporter connection
ndb/src/common/transporter/Transporter.hpp:
  Add connect_client(NDB_SOCKET_TYPE)
ndb/src/common/transporter/TransporterRegistry.cpp:
  Add TransporterRegistry::connect_client(NdbMgmHandle)
   - use an existing mgm connection to connect a transporter
   - used to change the mgm connection used for fetching configuration into a transporter
  
  Add connect_ndb_mgmd(NdbMgmHandle)
   - use existing NdbMgmHandle
   - convert to transporter
   - return socket
ndb/src/kernel/vm/Configuration.cpp:
  After fetching configuration, use the mgm connection as a transporter.
  Fail fatally if this fails.
ndb/src/mgmapi/mgmapi.cpp:
  Add ndb_mgm_get_mgmd_nodeid(h)
   - returns the node id of the mgm server you're connected to.
ndb/src/mgmsrv/Services.cpp:
  Add "get mgmd nodeid" mgmd call
  
  returns 'nodeid' - the node id of the mgm server your connected to
ndb/src/mgmsrv/Services.hpp:
  add prototype for get_mgmd_nodeid
2005-02-23 21:07:22 +11:00
unknown
69bddf6ed1 TransporterRegistry.hpp:
corrected spelling


ndb/include/transporter/TransporterRegistry.hpp:
  corrected spelling
2005-02-17 10:49:22 +01:00
unknown
461dab2350 added mutex lock for "get config"
ndb/include/transporter/TransporterRegistry.hpp:
  added comment
2005-02-17 10:39:54 +01:00
unknown
4d9e124382 removed NdbMgmHandle from TransporterRegistry constructor
changed to set NdbMgmHandle from IPPConfig, and use info from configuration, instead of mgm handle from config retrieval


ndb/src/ndbapi/Ndb.cpp:
  added som debug printout
ndb/src/ndbapi/NdbTransaction.cpp:
  added some debug printout
2005-02-16 20:37:14 +01:00
unknown
6bd9c85acd WL2278 Dynamic ports - Impl 6, "deal with mgm server restart and multiple mgm servers"
- when connecting to a mgm server as a transporter, create a NdbMgmHandle
  - over this mgm handle, report the dynamic ports
  - then turn it into a transporter
- this will re-report dynamic ports to mgmds when they restart (as we'll have to
set up our transporter again). This will also report it to all mgmds (as we'll
have transporters to all of them).


ndb/include/mgmapi/mgmapi.h:
  Add ndb_mgm_convert_to_transporter
   - converts to a transporter connect
   - destroys the handle (without disconnecting)
   - returns socket
ndb/include/transporter/TransporterRegistry.hpp:
  Add prototype for connect_ndb_mgmd
ndb/include/util/SocketClient.hpp:
  Remove connect_without_auth
  
  Add get_port() and get_server_name()
ndb/src/common/transporter/Transporter.cpp:
  use TransporterRegistry::connect_ndb_mgmd() to make the connection if isMgmConnection
ndb/src/common/transporter/TransporterRegistry.cpp:
  Impliment TransporterRegistry::connect_ndb_mgmd
  
  - takes a SocketClient and constructs a connectstring.
  - uses this connect string to make a NdbMgmHandle
  - send dynamic ports to this mgm server
  - transform into a transporter connect
  - return socket
ndb/src/common/util/SocketClient.cpp:
  Remove connect_without_auth
ndb/src/kernel/main.cpp:
  Don't relay dynamic ports. We now do this on transporter connect
ndb/src/mgmapi/mgmapi.cpp:
  Impliment ndb_mgm_convert_to_transporter
  - converts the mgm connection into a transporter connection
  - destroys the handle
  - returns the socket that should now be used as a transporter
2005-02-11 15:43:43 +11:00
unknown
8207d5cefd Impl5 of WL2278 - dynamic port allocation for cluster nodes
Treat the management server specially.

It should always be the server in a transporter as we then have a known
port to connect to on node restart.

allows a mgm connection (i.e. to the management server port, our known port)
to be transformed into a transporter connection.

Also, clean up the struct TransporterConfiguration (used to be a struct for
each transporter type. now there's just one)


ndb/include/transporter/TransporterDefinitions.hpp:
  Clean up XXX_TransporterConfiguration and create one TransporterConfiguration structure.
  
  Makes things easier to read (especially in IPCConfig.cpp)
ndb/include/transporter/TransporterRegistry.hpp:
  add get_mgm_handle (to compliment the set_mgm_handle function)
  
  clean up createTransporter to use just one TransporterConfiguration struct
ndb/include/util/SocketClient.hpp:
  Introduce connect_without_auth() to ignore any authentication method that may have been set.
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Remove dead IPCConfig::configureTransporters(TransporterRegistry*)
  
  Fixup IPCConfig::configureTransporters(Uint32 nodeId...)
  - use the 'one struct TransporterConfiguration to rule them all'
  - make MGM node the server
  - fix switch statement for transporter types
    - close } in strange place
    - possible inadvertent fall through
ndb/src/common/transporter/OSE_Transporter.cpp:
  a partial fix for the introduction of new parameters.
  
  OSE shouldn't build how it is now. Better to keep the build broken than have it build and fail strangely at runtime.
ndb/src/common/transporter/OSE_Transporter.hpp:
  a partial fix for the introduction of new parameters.
  
  OSE shouldn't build how it is now. Better to keep the build broken than have it build and fail strangely at runtime.
ndb/src/common/transporter/SCI_Transporter.cpp:
  should be correct for SCI transporter.
ndb/src/common/transporter/SCI_Transporter.hpp:
  should be correct for SCI transporter
ndb/src/common/transporter/SHM_Transporter.cpp:
  add new parameters for Transporter constructor
ndb/src/common/transporter/SHM_Transporter.hpp:
  add new parameters for Transporter constructor
ndb/src/common/transporter/TCP_Transporter.cpp:
  add new parameters for Transporter constructor
ndb/src/common/transporter/TCP_Transporter.hpp:
  add new parameters for Transporter constructor
ndb/src/common/transporter/Transporter.cpp:
  Add new parameters
   - isMgmConnection
  	requires transforming from mgm to transporter
   - serverNodeId
  	node id that will serve as the server
  
  Treat connection differently if isMgmConnection (send a special mgm command first)
ndb/src/common/transporter/Transporter.hpp:
  add fields to constructor
  
  add isMgmConnection member (if true, have to transform a mgm connection)
ndb/src/common/transporter/TransporterRegistry.cpp:
  createTransporter -> createTCPTransporter (etc)
  
  add extra transporter constructor parameters (from config)
  
  modify to use changes to TransporterConfiguration
ndb/src/common/util/SocketClient.cpp:
  SocketClient::connect_without_auth()
  
  Temporarily disables authentication and connects.
  This is useful if you're trying to change what this
  SocketClient object is for (e.g. from mgm to ndb)
ndb/src/common/util/SocketServer.cpp:
  Don't runSession or close socket when entering sessionThread if m_stopped
ndb/src/mgmsrv/ConfigInfo.cpp:
  fixPortNumber
  - Get port number from the MGM node as it will always be the server
ndb/src/mgmsrv/MgmtSrvr.cpp:
  transporter_connect(sockfd)
  - transform this mgm connection into a transporter connection
ndb/src/mgmsrv/MgmtSrvr.hpp:
  prototype for transporter_connect
ndb/src/mgmsrv/Services.cpp:
  add command: "transporter connect"
  
  stops the MgmApiSession and replaces it with a transporter connection
ndb/src/mgmsrv/Services.hpp:
  prototype for transporter_connect
2005-02-10 00:11:21 +11:00
unknown
098fc22417 Merge mysql.com:/home/stewart/Documents/MySQL/5.0/ndb
into mysql.com:/home/stewart/Documents/MySQL/5.0/ndb-dynamic-ports-impl5


ndb/src/common/mgmcommon/IPCConfig.cpp:
  Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
ndb/src/cw/cpcd/main.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
ndb/src/mgmsrv/main.cpp:
  Auto merged
2005-02-01 11:45:05 +11:00
unknown
cca25e4d49 Merge
ndb/include/Makefile.am:
  Auto merged
ndb/include/mgmapi/mgmapi_config_parameters.h:
  Auto merged
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
ndb/src/kernel/vm/Configuration.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
ndb/tools/delete_all.cpp:
  Auto merged
ndb/tools/desc.cpp:
  Auto merged
ndb/tools/drop_index.cpp:
  Auto merged
ndb/tools/drop_tab.cpp:
  Auto merged
ndb/tools/listTables.cpp:
  Auto merged
ndb/tools/restore/restore_main.cpp:
  Auto merged
ndb/tools/select_all.cpp:
  Auto merged
ndb/tools/select_count.cpp:
  Auto merged
ndb/tools/waiter.cpp:
  Auto merged
ndb/include/util/ndb_opts.h:
  SCCS merged
ndb/src/mgmsrv/main.cpp:
  resolved merge conflict
2005-01-28 00:47:41 +01:00
unknown
df7bb879cd Bug#8167 signal usage clash between mysql server and ndb shared memory
added shared memory config parameter, signum for use in signalling
    added global variable for holdign signum to be used for shared memory connection
    only fiddle with signals if it is set
    simplified common ndb client option handling


ndb/include/Makefile.am:
  added common defaults file
ndb/include/mgmapi/mgmapi_config_parameters.h:
  added shared memory config parameter, signum for use in signalling
ndb/include/transporter/TransporterDefinitions.hpp:
  added shared memory config parameter, signum for use in signalling
ndb/include/util/ndb_opts.h:
  simplified common ndb client option handling
ndb/src/common/mgmcommon/IPCConfig.cpp:
  added shared memory config parameter, signum for use in signalling
ndb/src/common/portlib/NdbThread.c:
  added global variable for holdign signum to be used for shared memory connection
  only block signals if shared memory is used
ndb/src/common/transporter/SHM_Transporter.cpp:
  use signum in new global variable for shared memory signalling
ndb/src/common/transporter/TransporterRegistry.cpp:
  use signum in new global variable for shared memory signalling
  only fiddle with signals if it is set
ndb/src/cw/cpcd/main.cpp:
  ndb_opts not really used
ndb/src/kernel/vm/Configuration.cpp:
  simplified common ndb client option handling
ndb/src/mgmclient/main.cpp:
  simplified common ndb client option handling
ndb/src/mgmsrv/ConfigInfo.cpp:
  added shared memory config parameter, signum for use in signalling
ndb/src/mgmsrv/main.cpp:
  simplified common ndb client option handling
ndb/tools/delete_all.cpp:
  simplified common ndb client option handling
ndb/tools/desc.cpp:
  simplified common ndb client option handling
ndb/tools/drop_index.cpp:
  simplified common ndb client option handling
ndb/tools/drop_tab.cpp:
  simplified common ndb client option handling
ndb/tools/listTables.cpp:
  simplified common ndb client option handling
ndb/tools/restore/restore_main.cpp:
  simplified common ndb client option handling
ndb/tools/select_all.cpp:
  simplified common ndb client option handling
ndb/tools/select_count.cpp:
  simplified common ndb client option handling
ndb/tools/waiter.cpp:
  simplified common ndb client option handling
2005-01-28 00:42:41 +01:00
unknown
f2e98ab5af Distinguish between "real" ports and those that can be negative (dynamic).
(Suggested by Tomas Ulin as part of review for WL2278)


ndb/include/transporter/TransporterRegistry.hpp:
  Differentiate signed port numbers from unsigned ones
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Explain the sign of server_port
ndb/src/common/transporter/TransporterRegistry.cpp:
  Use s_port to indicate a signed port number.
ndb/src/kernel/main.cpp:
  use m_s_service_port to indicate signed port number
ndb/src/mgmsrv/MgmtSrvr.cpp:
  differentiate between signed and unsigned port numbers
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  use m_s_service_port to indicate signed port number
2005-01-14 15:42:11 +11:00
unknown
5615ff29bb Impl4 of WL2278 - Dynamic port allocation of cluster nodes
When a node restarts it starts over again with fetching the configuration
-  It is not sure that it can use the "old dynamically allocated port number" again.
-  It should however try to reuse the old one, if not possible it should
allocate a new one. One has to be able to distinguish between portnumbers
specified originally in the config, and ones that has been dynamically added
(the latter may be changed if "busy", but the first cannot be changed).

We use negative portnumbers for ports that are ok to change.


ndb/include/mgmapi/mgmapi_debug.h:
  change prototype for:
  ndb_mgm_set_connection_int_parameter
  ndb_mgm_get_connection_int_parameter
  
  Accept/set an int instead of an unsigned
ndb/include/transporter/TransporterRegistry.hpp:
  Use an int (signed) to represent a port number.
  
  Zero means dynamic (but unassigned)
  >0 means static (defined in configuration)
  <0 means dynamic (and should be converted to positive before use)
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Set up the Transporter with a port number of the correct sign.
ndb/src/common/transporter/TransporterRegistry.cpp:
  start_clients_thread:
   - handle negative port numbers
  
  add_transporter_interface:
   - accept signed integer as port number
  
  start_service:
   - If port is dynamic (<0), try to bind to it.
  	if that fails (e.g. some other process has taken that port),
  	then get a new dynamic port number.
ndb/src/mgmapi/mgmapi.cpp:
  Use a signed integer for value in:
  ndb_mgm_set_connection_int_parameter
  ndb_mgm_get_connection_int_parameter
  
  Cast to a Uint32 for storage/retrieval to/from Properties
ndb/src/mgmsrv/MgmtSrvr.cpp:
  getConnectionDbParameter
   - return value as integer (signed)
   - cast as Uint32 for iter.get
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Update prototype of getConnectionDbParameter
  
  int value (not unsigned anymore)
ndb/src/mgmsrv/Services.cpp:
  MgmApiSession::getConnectionParameter
   - value is now signed
2005-01-12 18:13:54 +11:00
unknown
2a5aa24fab merge
configure.in:
  Auto merged
ndb/include/ndbapi/NdbApi.hpp:
  Auto merged
ndb/include/ndbapi/NdbReceiver.hpp:
  Auto merged
ndb/include/transporter/TransporterRegistry.hpp:
  Auto merged
ndb/src/common/logger/Logger.cpp:
  Auto merged
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Auto merged
ndb/src/common/transporter/Transporter.hpp:
  Auto merged
ndb/src/kernel/main.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/main.cpp:
  Auto merged
ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
  Auto merged
ndb/test/ndbapi/testBlobs.cpp:
  Auto merged
2005-01-01 14:01:37 +01:00
unknown
233a33da3a Impl 2 of WL2278 - Dynamic port allocation of cluster nodes.
In "client connect thread", let the client read the port to connect to using
ndb_mgm_get_connection_int_parameter.

The request for the port is resent on every connect attempt.


ndb/include/mgmapi/mgmapi_debug.h:
  Make ndb_mgm_get_connection_int_parameter return a Uint32 value - this is what Properties etc use, so we'll be consistent.
ndb/include/transporter/TransporterRegistry.hpp:
  Add NdbMgmHandle to constructor. This is used to get the port number
  to connect to from mgmd. Defaults to NULL, although things will go badly
  if you don't change this (by calling the new set_mgm_handle method) pretty
  quickly.
  
  Add set_mgm_handle(NdbMgmHandle) method.
   - sets the MgmHandle to use when requesting from mgmd what port to connect to a node on.
ndb/src/common/transporter/Transporter.hpp:
  Make remote port not a const.
  Add method to set remote port - set_r_port(unsigned int)
  
  Make getLocalNodeId return localNodeId, not remoteNodeId.
ndb/src/common/transporter/TransporterRegistry.cpp:
  TransporterRegistry::TransporterRegistry()
   - accept NdbMgmHandle parameter
   - set m_mgm_handle to this
  
  TransporterRegistry::start_clients_thread()
   - If we're connecting to a node, and the server_port (from the config) is <=0,
  	we request the port number to connect to from mgmd.
  
  (note: in testing, the <=0 check was commented out so the code was run.
  There is no harm in always running it, it's just an extra round-trip to mgmd
  that we may not need).
ndb/src/kernel/main.cpp:
  Set the mgm_handle for globalTransporterRegistry soon after we have set up theConfig (which sets up the mgmHandle).
ndb/src/mgmapi/mgmapi.cpp:
  - Remove dead #else on #if 1
  
  - Print an error message and warning if the parser returns NULL.
    this will no longer silently fail, it will give output with
    information to help the programmer find out where things went wrong.
    In normal operation, this codepath should never be hit.
  
  - fix handlers for 'get|set connection parameter' calls.
ndb/src/mgmsrv/MgmtSrvr.cpp:
  - Create TransporterFacade with the mgmHandle.
  - Don't worry about the order of node1 and node2 in getConnectionDbParameter
  - use a proper DBUG_RETURN in getConnectionParameter
ndb/src/mgmsrv/Services.cpp:
  - fix reply to 'get connection parameter'
  - optimise reply size.
ndb/src/ndbapi/TransporterFacade.cpp:
  - create TransporterRegistry with m_mgm_handle
  - set m_mgm_handle in constructor
ndb/src/ndbapi/TransporterFacade.hpp:
  Introduce m_mgm_handle member.
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  create TransporterFacade (with mgmHandle) after the ConfigRetriever has been created
2004-12-23 16:23:32 +11:00
unknown
8dcfad68e2 changed name of g_eventLogger so it can be used in TransporterRegistry and is the same as in the kernel
ndb/include/ndbapi/ndb_cluster_connection.hpp:
  changed return type of no_ndb_nodes
ndb/include/transporter/TransporterRegistry.hpp:
  added connect_server method to TransporterRegistry
ndb/include/util/ndb_opts.h:
  set shared memory usage as _no_ default in 4.1
ndb/src/common/transporter/Makefile.am:
  added -I flags for EventLogger.hpp
ndb/src/common/transporter/SCI_Transporter.cpp:
  setting transporter type
ndb/src/common/transporter/SHM_Transporter.cpp:
  setting transporter type
ndb/src/common/transporter/TCP_Transporter.cpp:
  setting transporter type
ndb/src/common/transporter/Transporter.cpp:
  added event logger
  added type handling in transporter
  added verification of transporter type compatability
ndb/src/common/transporter/Transporter.hpp:
  setting transporter type
ndb/src/common/transporter/TransporterRegistry.cpp:
  moved server-client transporter negotiation to own method connect_server()
  added verification of transporter compatability
ndb/src/kernel/main.cpp:
  changed which events are logged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  added g_eventLogger
sql/mysqld.cc:
  set shared memory usage as _no_ default in 4.1
2004-12-22 16:29:01 +01:00
unknown
375d7e014b added configuration hostnames to SHM config struct
use configured hostnames for SHM transporter setup


ndb/include/transporter/TransporterDefinitions.hpp:
  added configuration hostnames to SHM config struct
ndb/src/common/mgmcommon/IPCConfig.cpp:
  added configuration hostnames to SHM config struct
ndb/src/common/transporter/TransporterRegistry.cpp:
  added configuration hostnames to SHM config struct
  use configured hostnames for SHM transporter setup
2004-12-22 07:20:01 +01:00
unknown
7e5be0fefd Merge 5.0-ndb into local, resolve conflicts
ndb/src/kernel/main.cpp:
  Auto merged
ndb/src/kernel/vm/Configuration.hpp:
  Auto merged
ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
ndb/src/mgmsrv/Services.hpp:
  Auto merged
ndb/include/transporter/TransporterRegistry.hpp:
  Resolve merge conflict (change of parameter name)
ndb/src/common/transporter/TransporterRegistry.cpp:
  Resolve merge conflict (change of parameter name)
2004-12-20 11:32:08 +11:00
unknown
80c1bddd1b merge
ndb/include/transporter/TransporterRegistry.hpp:
  Auto merged
ndb/src/kernel/main.cpp:
  Auto merged
2004-12-16 21:55:50 +01:00
unknown
007c9e2914 Merge mysql.com:/home/stewart/Documents/MySQL/5.0/ndb
into mysql.com:/home/stewart/Documents/MySQL/5.0/ndb-dynamic-port


ndb/include/transporter/TransporterRegistry.hpp:
  Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
ndb/src/kernel/main.cpp:
  Auto merged
2004-12-16 11:19:12 +11:00
unknown
ff99dce1b1 Further work on WL2278
Add calls to mgmd after setting up connections.
(not fully functional yet, checkin for pull)


ndb/include/mgmcommon/ConfigRetriever.hpp:
  add get_mgmHandle() member function
ndb/include/transporter/TransporterRegistry.hpp:
  Add remoteNodeId parameter to add_transporter interface
  
  add get_transporter() and get_localNodeID()
  
  these are required for getting the right information out of TransporterRegistry to inform mgmd of what ports we use to connect to other nodes.
ndb/src/common/mgmcommon/IPCConfig.cpp:
  call add_transporter_interface with the new nodeId2 parameter
ndb/src/common/transporter/TransporterRegistry.cpp:
  Implement additional (remoteNodeId) parameter in add_transporter_interface
  
  Implement get_transporter()
ndb/src/kernel/main.cpp:
  Call ndb_mgm_set_connection_int_parameter() to tell mgmd what ports we use to connect to other nodes.
ndb/src/kernel/vm/Configuration.hpp:
  add get_config_retriever()
ndb/src/mgmapi/mgmapi.cpp:
  Add DBUG_ENTER call to ndb_mgm_set_connection_int_parameter
ndb/src/ndbapi/TransporterFacade.hpp:
  Add get_registry()
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Add call to ndb_mgm_set_connection_int_parameter to tell mgmd what ports we use to connect to other nodes.
2004-12-16 11:17:27 +11:00
unknown
ebee4cfad3 ndb - fix protection wrt shm
ndb/include/transporter/TransporterRegistry.hpp:
  fix protection
2004-12-14 08:26:53 +01:00
unknown
7e7a2b32e8 ndb - shm transporter benchmark result
ndb/docs/wl2077.txt:
  Add result from micro benchmark with shm-transporter
ndb/include/transporter/TransporterRegistry.hpp:
  Move pid into transporter registry
ndb/src/common/transporter/SHM_Transporter.cpp:
  Move pid into transporter registry
ndb/src/common/transporter/TransporterRegistry.cpp:
  Move pid into transporter registry
ndb/src/kernel/main.cpp:
  Move pid into transporter registry
ndb/src/ndbapi/TransporterFacade.cpp:
  Move pid into transporter registry
2004-12-14 08:10:22 +01:00
unknown
59ee75bd57 wl1744 - fix compiler problems
ndb/include/debugger/GrepError.hpp:
  prexif
ndb/include/kernel/LogLevel.hpp:
  fix correct type prototype
ndb/include/kernel/signaldata/FsCloseReq.hpp:
  remove usage of true
ndb/include/mgmapi/mgmapi.h:
  use Uint64 instead of long long
ndb/include/mgmcommon/IPCConfig.hpp:
  correct type
ndb/include/portlib/NdbTCP.h:
  fix #elif
ndb/include/transporter/TransporterRegistry.hpp:
  correct type
ndb/include/util/Parser.hpp:
  correct type
  made stuff public as vc++ couldn't handle template friends
ndb/include/util/SimpleProperties.hpp:
  correct type
ndb/src/common/debugger/EventLogger.cpp:
  Prefix GrepError::Code as GrepError::GE_Code
ndb/src/common/debugger/GrepError.cpp:
  Prefix GrepError::Code as GrepError::GE_Code
ndb/src/common/debugger/signaldata/FsCloseReq.cpp:
  removed usage of true
ndb/src/common/debugger/signaldata/FsReadWriteReq.cpp:
  removed usage of true
ndb/src/common/logger/LogHandlerList.hpp:
  use ndb_global
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  removed ConfigRetriever::get_config(file) from windows
ndb/src/common/transporter/TransporterRegistry.cpp:
  interface is a reserved word in vc++
ndb/src/kernel/blocks/grep/Grep.hpp:
  Prefix GrepError::Code as GrepError::GE_Code
ndb/src/kernel/vm/Configuration.cpp:
  Use BaseString::snprintf
ndb/src/kernel/vm/Configuration.hpp:
  correct type
ndb/src/kernel/vm/SimplePropertiesSection.cpp:
  correct type
ndb/src/mgmapi/mgmapi_configuration.cpp:
  use Uin6t4
ndb/src/mgmapi/mgmapi_configuration.hpp:
  use Uin6t4
ndb/src/mgmsrv/ConfigInfo.cpp:
  Prefix
ndb/src/mgmsrv/ConfigInfo.hpp:
  prefix
ndb/src/ndbapi/Ndb.cpp:
  removed usued include
ndb/src/ndbapi/NdbImpl.hpp:
  prefix
ndb/src/ndbapi/ObjectMap.hpp:
  Better typecast
2004-11-10 00:13:26 +01:00
unknown
dbf87bf899 Hand merge
acinclude.m4:
  Auto merged
ndb/include/mgmapi/mgmapi_config_parameters.h:
  Auto merged
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
2004-09-20 14:20:01 +02:00
unknown
9956b20790 removed different CFG_ defined for connection host names
added support for setting up multiple interfaces
correct connect address for mgmt server
bug, -l flag would be interpreted as connectstring
added flag to remove all node id checks
changed automatic allocation of ports somewhat


ndb/include/mgmapi/mgmapi_config_parameters.h:
  removed different CFG_ defined for connection host names
ndb/include/transporter/TransporterRegistry.hpp:
  added support for setting up multiple interfaces
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  removed different CFG_ defined for connection host names
ndb/src/common/mgmcommon/IPCConfig.cpp:
  added support for setting up multiple interfaces
ndb/src/common/portlib/NdbTCP.cpp:
  added debug printouts
ndb/src/common/transporter/TransporterRegistry.cpp:
  added support for setting up multiple interfaces
ndb/src/common/util/SocketServer.cpp:
  added my_thread init to enable debug printouts
ndb/src/mgmclient/CommandInterpreter.cpp:
  shortened lines
ndb/src/mgmsrv/ConfigInfo.cpp:
  removed different CFG_ defined for connection host names
  changed automatic allocation of ports somewhat
ndb/src/mgmsrv/MgmtSrvr.cpp:
  correct connect address for mgmt server
ndb/src/mgmsrv/Services.cpp:
  shoretened lines
ndb/src/mgmsrv/main.cpp:
  bug, -l flag would be interpreted as connectstring
  added flag to remove all node id checks
2004-09-16 23:36:13 +00:00
unknown
49dc3a5301 logging_ok:
Logging to logging@openlogging.org accepted
SCI_Transporter.hpp, SCI_Transporter.cpp:
  Major fix-up of SCI Transporter, fixed so that it works with single card, fixed wrap around, added lots of DBUG statements, merged with new transporter handling
TransporterRegistry.cpp:
  Some fixes for wrap around needed plus DBUG handling
TCP_Transporter.hpp, TCP_Transporter.cpp:
  Added DBUG statements
SHM_Transporter.hpp, SHM_Transporter.cpp:
  Fixed SHM Transporter
SHM_Buffer.hpp:
  Fixed SHM Buffer to handle wrap around properly
IPCConfig.cpp:
  Fixed up config of SCI
SocketServer.cpp:
  Added DBUG support for SocketServer threads
ConfigInfo.cpp:
  Config changes for SCI
TransporterDefinitions.hpp, mgmapi_config_parameters.h:
  SCI fixes
Makefile.am, type_ndbapitools.mk.am, type_ndbapitest.mk.am:
  Added SCI library path to Makefiles
configure.in:
  Fixed small bug with shared mem and sci together in configure
acinclude.m4:
  Added possibility of providing SCI library path in confgure


acinclude.m4:
  Added possibility of providing SCI library path in confgure
configure.in:
  Fixed small bug with shared mem and sci together in configure
ndb/config/type_ndbapitest.mk.am:
  Added SCI library path to Makefiles
ndb/config/type_ndbapitools.mk.am:
  Added SCI library path to Makefiles
ndb/src/cw/cpcd/Makefile.am:
  Added SCI library path to Makefiles
ndb/src/kernel/Makefile.am:
  Added SCI library path to Makefiles
ndb/src/kernel/blocks/backup/restore/Makefile.am:
  Added SCI library path to Makefiles
ndb/src/mgmsrv/Makefile.am:
  Added SCI library path to Makefiles
sql/Makefile.am:
  Added SCI library path to Makefiles
ndb/src/common/transporter/Makefile.am:
  Added SCI library path to Makefiles
ndb/include/mgmapi/mgmapi_config_parameters.h:
  SCI fixes
ndb/include/transporter/TransporterDefinitions.hpp:
  SCI fixes
ndb/src/mgmsrv/ConfigInfo.cpp:
  Config changes for SCI
ndb/src/common/util/SocketServer.cpp:
  Added DBUG support for SocketServer threads
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Fixed up config of SCI
ndb/src/common/transporter/SHM_Buffer.hpp:
  Fixed SHM Buffer to handle wrap around properly
ndb/src/common/transporter/SHM_Transporter.cpp:
  Fixed SHM Transporter
ndb/src/common/transporter/SHM_Transporter.hpp:
  Fixed SHM Transporter
ndb/src/common/transporter/TCP_Transporter.cpp:
  Added DBUG statements
ndb/src/common/transporter/TCP_Transporter.hpp:
  Added DBUG statements
ndb/src/common/transporter/TransporterRegistry.cpp:
  Some fixes for wrap around needed plus DBUG handling
ndb/src/common/transporter/SCI_Transporter.cpp:
  Major fix-up of SCI Transporter, fixed so that it works with single card, fixed wrap around, added lots of DBUG statements, merged with new transporter handling
ndb/src/common/transporter/SCI_Transporter.hpp:
  Major fix-up of SCI Transporter, fixed so that it works with single card, fixed wrap around, added lots of DBUG statements, merged with new transporter handling
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-09-15 20:41:49 +02:00
unknown
65f6fcaff2 Correction + move of code to NDB_DEBUG_FULL from VM_TRACE
ndb/include/transporter/TransporterDefinitions.hpp:
  Correction for bad math
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Moved heavy check code to NDB_DEBUG_FULL
2004-08-09 17:51:37 +02:00
unknown
64c81b9dfd fixed compile of shm transporter
ndb/src/mgmsrv/Services.cpp:
  changed getsockname to getpeername
2004-06-29 14:56:02 +00:00
unknown
1addcc2ffd wl 1748 2004-06-24 12:18:40 +00:00
unknown
dc2544fdee WL 1748
ndb/include/kernel/signaldata/ApiRegSignalData.hpp:
  Added info about connected nodes to ApiRegConf
ndb/include/mgmapi/mgmapi.h:
  New mgmapi command to get nodeid dynamically
ndb/include/mgmapi/mgmapi_config_parameters.h:
  New config param to specify port on for transporter setup
ndb/include/mgmcommon/ConfigRetriever.hpp:
  added notetype to getConfig
ndb/include/portlib/NdbTCP.h:
  small detail
ndb/include/transporter/TransporterRegistry.hpp:
  changed performstates and interface to connect/disconnect transporters
  added TransporterService for transporter setup
  changed model for setting up transporters
ndb/src/common/mgmcommon/ConfigInfo.cpp:
  removed some config params as mandatory
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  added dynamic alloc of nodeid
ndb/src/common/mgmcommon/LocalConfig.cpp:
  added default localhost:2200 and dynamic id
ndb/src/common/transporter/TCP_Transporter.cpp:
  moved TCP hostname stuff from TCP_Transporter to parent class Transporter
  changed TCP connection setup to use just one port for all transporters
ndb/src/common/transporter/TCP_Transporter.hpp:
  moved TCP hostname stuff from TCP_Transporter to parent class Transporter
  changed TCP connection setup to use just one port for all transporters
ndb/src/common/transporter/Transporter.cpp:
  moved TCP hostname stuff from TCP_Transporter to parent class Transporter
  changed TCP connection setup to use just one port for all transporters
ndb/src/common/transporter/Transporter.hpp:
  moved TCP hostname stuff from TCP_Transporter to parent class Transporter
  changed TCP connection setup to use just one port for all transporters
ndb/src/common/transporter/TransporterRegistry.cpp:
  changed performstates and interface to connect/disconnect transporters
  added TransporterService for transporter setup
  changed model for setting up transporters
ndb/src/common/util/Makefile.am:
  New SocketAuthenticator
ndb/src/common/util/SocketServer.cpp:
  small detail
ndb/src/kernel/Makefile.am:
  small detail
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  new interface to performstates + cleanup
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  changed signal ApiRegConf
ndb/src/kernel/vm/ThreadConfig.cpp:
  changed naming
ndb/src/mgmapi/mgmapi.cpp:
  Use new Socket client
  New methid for allocating dynamic id
ndb/src/mgmsrv/MgmtSrvr.cpp:
  moved port setup from main.cpp to MgmtSrvr
  new method getNextFreeNodeId
ndb/src/mgmsrv/MgmtSrvr.hpp:
  ..
ndb/src/mgmsrv/Services.cpp:
  allocate new nodeid
ndb/src/mgmsrv/Services.hpp:
  ..
ndb/src/mgmsrv/main.cpp:
  moved setup port to MgmtSrvr.cpp
  Rearranged setup order
ndb/src/ndbapi/ClusterMgr.cpp:
  new API_REGCONF
ndb/src/ndbapi/ClusterMgr.hpp:
  bitmask to hold connected nodes
ndb/src/ndbapi/TransporterFacade.cpp:
  New transporter connect
ndb/src/ndbapi/TransporterFacade.hpp:
  removed function not used
ndb/src/kernel/main.cpp:
  new transporter setup
2004-06-23 00:48:07 +00:00
unknown
eef6e474ad introduced ndb_global.h/my_global.h to replace sytem lib includes e.g. stdio, stdlib 2004-05-07 08:39:42 +02:00
unknown
6386c55cee Initial revision of NDB Cluster files
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-14 10:53:21 +02:00