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
Implementation of "get connection parameter" mgmd call for getting from mgmd what port to use for a connection between two nodes.
(The actual use of this function is not yet implemented)
ndb/include/mgmapi/mgmapi_debug.h:
Add ndb_mgm_get_connection_int_parameter() prototype
ndb/src/mgmapi/mgmapi.cpp:
Add ndb_mgm_get_connection_int_parameter() implementation
ndb/src/mgmsrv/MgmtSrvr.cpp:
Add implementation of MgmtSrvr::getConnectionDbParameter()
ndb/src/mgmsrv/MgmtSrvr.hpp:
Add prototype for get_connectionDbParemeter
ndb/src/mgmsrv/Services.cpp:
Add "get connection parameter" mgmd command (for over the wire)
add getConnectionParameter handler for it
ndb/src/mgmsrv/Services.hpp:
Add prototype for getConnectionParameter
Add facility to report back to ndb_mgmd what port was used for a connection.
We do not actually do the reporting back yet.
ndb/include/mgmapi/mgmapi_debug.h:
Add prototype for ndb_mgm_set_connection_int_parameter
ndb/src/mgmapi/mgmapi.cpp:
Add ndb_mgm_set_connection_int_parameter.
Do 'set connection parameter' ndb_mgm_call
ndb/src/mgmsrv/MgmtSrvr.cpp:
Add MgmtSrvr::setConnectionDbParameter.
Find the connection between node1 and node2,
ndb/src/mgmsrv/MgmtSrvr.hpp:
Add prototype for setConnectionDbParameter
ndb/src/mgmsrv/Services.cpp:
Add 'set connection parameter' cmd and MgmApiSession::setConnectionParameter handler.
ndb/src/mgmsrv/Services.hpp:
add setConnectionParameter prototype.
Only updates values mgmsrv's on main memory
to be used in test prg's
ndb/include/mgmapi/mgmapi_debug.h:
Update on config
ndb/include/util/ConfigValues.hpp:
Update on config
ndb/src/mgmapi/mgmapi.cpp:
Update on config
ndb/src/mgmsrv/MgmtSrvr.cpp:
Update on config
ndb/src/mgmsrv/MgmtSrvr.hpp:
Update on config
ndb/src/mgmsrv/Services.cpp:
Update on config
ndb/src/mgmsrv/Services.hpp:
Update on config