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
into mysql.com:/home/stewart/Documents/MySQL/5.0/ndb-dynamic-ports-impl3
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/main.cpp:
Auto merged
1) Fix startTransaction with hint
2) Ship fragment data to API to make better guess
3) Expose both primary & backup replicas
To (in the future) be even more clever on choosing nodes for
transactions/operations
ndb/include/kernel/ndb_limits.h:
Set maxsize of array with fragment data
ndb/include/kernel/signaldata/DictTabInfo.hpp:
Send fragment data to API
ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
Send fragment data to API
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Send fragment data to API
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Send fragment data to API
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Use Uint16 for fragment info
Fix uninit variable
ndb/src/ndbapi/Ndb.cpp:
Impl. startTransaction with hint
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Add interface for retreiving replica nodes given a hash-value
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Add interface for retreiving replica nodes given a hash-value
ndb/src/ndbapi/ndb_cluster_connection.cpp:
remove Fragment2NodeMap and put it on table instead
ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
remove Fragment2NodeMap and put it on table instead
ndb/test/ndbapi/testNdbApi.cpp:
Test some more
ndb/include/util/SocketClient.hpp:
Add SocketClient::set_port(unsigned short port)
- Sets both m_port and m_servaddr.sin_port
ndb/src/common/transporter/Transporter.hpp:
Fix set_r_port to call m_socket_client->set_port(port) (if there's a socket client).
ndb/src/common/transporter/TransporterRegistry.cpp:
Handle non-TCP Transporter nodes correctly
ndb/src/mgmsrv/main.cpp:
Better document and error check connecting back to our own ndb_mgmd
removed grep event and added congestion event
more docs
changed some naming, expecially regarding severities
added config param for logevel for congestion
mysql-test/ndb/basic.result:
updated ndb_mgm test
mysql-test/ndb/restart.test:
updated ndb_mgm test
ndb/include/kernel/LogLevel.hpp:
removed grep event and added congestion event
ndb/include/mgmapi/mgmapi.h:
more docs
changed some naming, expecially regarding severities
ndb/include/mgmapi/mgmapi_config_parameters.h:
removed grep event and added congestion event
ndb/src/common/debugger/EventLogger.cpp:
removed grep event and added congestion event
ndb/src/mgmapi/mgmapi.cpp:
changed some naming, expecially regarding severities
ndb/src/mgmsrv/ConfigInfo.cpp:
added config param for logevel for congestion
ndb/src/mgmsrv/Services.cpp:
just som variable name changes
and Ndb class description;
Doxyfiles: moved detailed class/member descriptions
to top of generated files.
ndb/docs/doxygen/Doxyfile.ndbapi:
Moved detailed class descriptions to top of output.
ndb/docs/doxygen/Doxyfile.ndb:
Moved detailed class descriptions to top of output.
ndb/docs/doxygen/Doxyfile.odbc:
Moved detailed class descriptions to top of output.
ndb/docs/doxygen/Doxyfile.test:
Moved detailed class descriptions to top of output.
ndb/include/ndbapi/Ndb.hpp:
Documentation edits to Cluster Concepts,
Ndb Class Description
mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Time. adds new type id 25
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Time. adds new type id 25
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Time. adds new type id 25
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Time. adds new type id 25
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Time. adds new type id 25
ndb/tools/restore/consumer.cpp:
wl-1442 fix Time. adds new type id 25
sql/ha_ndbcluster.cc:
wl-1442 fix Time. adds new type id 25
mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Date. reuses old unused Timespec type id
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/tools/restore/consumer.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
sql/ha_ndbcluster.cc:
wl-1442 fix Date. reuses old unused Timespec type id
into mysql.com:/export/space/pekka/ndb/version/my50-dt
ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
mysql-test/r/ndb_alter_table.result:
wl-1442 new varchar
mysql-test/r/ndb_bitfield.result:
wl-1442 new varchar
mysql-test/r/ndb_charset.result:
wl-1442 new varchar
mysql-test/t/ndb_charset.test:
wl-1442 new varchar
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 new varchar
ndb/include/ndb_constants.h:
wl-1442 new varchar
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 new varchar
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 new varchar
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 new varchar
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
wl-1442 new varchar
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
wl-1442 new varchar
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
wl-1442 new varchar
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
wl-1442 new varchar
ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
wl-1442 new varchar
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
wl-1442 new varchar
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 new varchar
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 new varchar
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
wl-1442 new varchar
ndb/src/ndbapi/NdbOperationDefine.cpp:
wl-1442 new varchar
ndb/src/ndbapi/NdbOperationSearch.cpp:
wl-1442 new varchar
ndb/src/ndbapi/NdbRecAttr.cpp:
wl-1442 new varchar
ndb/src/ndbapi/NdbTransaction.cpp:
wl-1442 new varchar
ndb/test/ndbapi/testOIBasic.cpp:
wl-1442 new varchar
sql/ha_ndbcluster.cc:
wl-1442 new varchar
added my_pthread_init to get dbug print correct in Hugo
added define for event error code
ndb/examples/ndbapi_event_example/ndbapi_event.cpp:
updated event example to make use of new NdbError member in NdbEventOperation
+ use define to check error code
ndb/include/kernel/signaldata/CreateEvnt.hpp:
updated create event signal to use define
ndb/include/ndbapi/NdbEventOperation.hpp:
added NdbError member to NdbEventOperation
ndb/include/ndbapi/ndberror.h:
added define for event error code
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
changed name of error code
ndb/src/ndbapi/NdbEventOperation.cpp:
added NdbError
ndb/src/ndbapi/NdbEventOperationImpl.cpp:
added debug printout
added some error handling
ndb/src/ndbapi/NdbEventOperationImpl.hpp:
added NdbError
ndb/src/ndbapi/Ndberr.cpp:
added NdbError for NdbEventOperationImpl
ndb/src/ndbapi/ndberror.c:
changed some error codes
ndb/test/ndbapi/test_event.cpp:
added testcase for BUG#7627
ndb/test/src/HugoTransactions.cpp:
added printout in event
ndb/test/src/NDBT_Test.cpp:
added my_pthread_init to get dbug print correct