| Bug #38502 | NDB_PORT cause ndb_mgmd fail | ||
|---|---|---|---|
| Submitted: | 31 Jul 2008 21:11 | Modified: | 10 Oct 2009 18:45 |
| Reporter: | Benmeida Marouane | ||
| Status: | Closed | ||
| Category: | Server: Cluster | Severity: | S2 (Serious) |
| Version: | mysql-5.1 | OS: | Linux |
| Assigned to: | Magnus Blaudd | Target Version: | |
| Tags: | aborted, cluster, ndb_mgmd, -5.0.51b AND 5.0.51a, 5.1 bzr | ||
| Triage: | Triaged: D3 (Medium) / R3 (Medium) / E1 (None/Negligible) | ||
[31 Jul 2008 21:47]
Magnus Blaudd
Looking in configure.in, I see that ndb_port is supposed to be set to 1186 configure.in >> if test X"$ndb_port" = Xdefault then ndb_port="1186" fi AC_SUBST([ndb_port]) <<
[31 Jul 2008 21:49]
Magnus Blaudd
It should not be allowed to just say --with-ndb-port, that is the reason why NDB_PORT in ndb_global.h get that value. This should be checked by ./configure
[31 Jul 2008 22:20]
Sveta Smirnova
Thank you for the report. Verified as described.
[12 Nov 2008 15:15]
Jonas Oreland
R3: messing with configure is always a pain E1:
[24 Sep 2009 12:31]
Magnus Blaudd
Still possible to configure it so that NDB_PORT="yes" msvensson@pilot:~/mysql/6.2$ ./configure --with-ndb-port --with-plugins=ndbcluster msvensson@pilot:~/mysql/6.2$ grep -r NDB_PORT * ... storage/ndb/include/ndb_global.h:#define NDB_PORT "yes"
[24 Sep 2009 18:17]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/84537
[8 Oct 2009 15:41]
Magnus Blaudd
Patch approved on IRC, the AC_SUBST is removed and the port is passed through config.h if set. Will also scrap remnants of ndb_port_base
[9 Oct 2009 16:13]
Bugs System
Pushed into 5.1.39-ndb-6.2.19 (revid:magnus.blaudd@sun.com-20091009101310-9ebungrjeq4t608z) (version source revid:magnus.blaudd@sun.com-20091009101310-9ebungrjeq4t608z) (merge vers: 5.1.39-ndb-6.2.19) (pib:13)
[9 Oct 2009 16:13]
Bugs System
Pushed into 5.1.39-ndb-6.3.28 (revid:magnus.blaudd@sun.com-20091009130938-s7tv5vj7f842wo9g) (version source revid:magnus.blaudd@sun.com-20091009130938-s7tv5vj7f842wo9g) (merge vers: 5.1.39-ndb-6.3.28) (pib:13)
[9 Oct 2009 16:20]
Bugs System
Pushed into 5.1.39-ndb-7.0.9 (revid:magnus.blaudd@sun.com-20091009141821-rrrm9xm2j8f3hstt) (version source revid:magnus.blaudd@sun.com-20091009141821-rrrm9xm2j8f3hstt) (merge vers: 5.1.39-ndb-7.0.9) (pib:13)
[9 Oct 2009 16:27]
Bugs System
Pushed into 5.1.39-ndb-7.1.0 (revid:magnus.blaudd@sun.com-20091009142206-4g25a32akb8t3o5u) (version source revid:magnus.blaudd@sun.com-20091009142206-4g25a32akb8t3o5u) (merge vers: 5.1.39-ndb-7.1.0) (pib:13)
[10 Oct 2009 18:45]
Jon Stephens
Documented in the NDB-6.2.19, 6.3.28, and 7.0.9 changelogs, as follows:
When building MySQL Cluster, it was possible to configure the
build using --with-ndb-port without supplying a port number. Now
in such cases, configure fails with an error.
Closed.
[15 Oct 2009 17:45]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/87008 3018 Martin Skold 2009-10-15 [merge] Merge modified: config/ac-macros/ha_ndbcluster.m4 mysql-test/suite/ndb/my.cnf mysql-test/suite/ndb/r/ndb_config.result mysql-test/suite/ndb_binlog/r/ndb_binlog_variants.result mysql-test/suite/ndb_binlog/t/ndb_binlog_variants.test mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result sql/ha_ndbcluster.cc sql/ha_ndbcluster.h storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp storage/ndb/include/kernel/signaldata/DumpStateOrd.hpp storage/ndb/include/kernel/signaldata/NodeFailRep.hpp storage/ndb/include/ndb_global.h.in storage/ndb/include/ndbapi/NdbDictionary.hpp storage/ndb/include/ndbapi/NdbOperation.hpp storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan.cpp storage/ndb/src/kernel/blocks/backup/Backup.cpp storage/ndb/src/kernel/blocks/backup/Backup.hpp storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp storage/ndb/src/kernel/blocks/dbdih/printSysfile.cpp storage/ndb/src/kernel/blocks/dbdih/printSysfile/printSysfile.cpp storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp storage/ndb/src/kernel/blocks/dblqh/redoLogReader/reader.cpp storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp storage/ndb/src/kernel/blocks/dbtux/Dbtux.hpp storage/ndb/src/kernel/blocks/dbutil/DbUtil.cpp storage/ndb/src/kernel/blocks/dbutil/DbUtil.hpp storage/ndb/src/kernel/blocks/lgman.cpp storage/ndb/src/kernel/blocks/lgman.hpp storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp storage/ndb/src/kernel/blocks/suma/Suma.cpp storage/ndb/src/kernel/blocks/suma/Suma.hpp storage/ndb/src/kernel/blocks/trix/Trix.hpp storage/ndb/src/kernel/blocks/tsman.cpp storage/ndb/src/kernel/blocks/tsman.hpp storage/ndb/src/kernel/vm/DLFifoList.hpp storage/ndb/src/kernel/vm/DLHashTable.hpp storage/ndb/src/kernel/vm/DLList.hpp storage/ndb/src/kernel/vm/DataBuffer.hpp storage/ndb/src/kernel/vm/SimulatedBlock.cpp storage/ndb/src/kernel/vm/SimulatedBlock.hpp storage/ndb/src/mgmapi/LocalConfig.cpp storage/ndb/src/mgmapi/Makefile.am storage/ndb/src/mgmsrv/ConfigInfo.cpp storage/ndb/src/ndbapi/NdbDictionary.cpp storage/ndb/src/ndbapi/NdbOperation.cpp storage/ndb/test/ndbapi/testNdbApi.cpp storage/ndb/test/run-test/daily-basic-tests.txt

Description: The ndb_mgmd won't start, if we try to start it with no Debug option the are no message at all, and if we try to start the Management Cluster with debug enabled we see only the message Aborted. The 5 last messages in trace file: ConfigRetriever.cpp: 91: | <ConfigRetriever::ConfigRetriever mgmapi.cpp: 465: | >ndb_mgm_connect mgmapi.cpp: 63: | | info: NDB_SOCKET: 4 mgmapi.cpp: 60: | | info: NDB_CLOSE_SOCKET(4) mgmapi.cpp: 542: | | info: Unable to connect with connect string: nodeid=1,192.168.1.100:2202 mgmapi.cpp: 557: | <ndb_mgm_connect After some work i found that the bogus function is InitConfigFileParser::convertStringToUint64 but the problem come from the NDB_PORT variable. How to repeat: Compile on Suse 10.3 x86_64 EM64T: LDFLAGS="-L/usr/lib64" CFLAGS="-mtune=nocona -m64 -O2 -pg -g" CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -mtune=nocona -m64 -O2 -pg -g" ./configure --prefix=/usr --libdir=/usr/lib64 --localstatedir=/test/mysql --datadir=/test/mysql --enable-thread-safe-client --enable-assembler --with-gnu-ld --with-pthread --with-mysqld-user=mysql --with-zlib-dir=bundled --with-ndbcluster --with-ndb-test --with-ndb-port --with-embedded-server --with-big-tables --with-max-indexes=8 --without-innodb --with-debug --disable-shared --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --without-man --without-bench my.cnf (Just the lines for Cluster): [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock ndbcluster ndb-connectstring=nodeid=1;host=192.168.1.100:2202 #Others... [mysql_cluster] ndb-connectstring=nodeid=1;host=192.168.1.100:2202 [ndb_mgm] connect-string=nodeid=1;192.168.1.100:2202 [ndb_mgmd] connect-string=nodeid=1;192.168.1.100:2202 config-file=/test/mysql/cluster/config.ini #Others... For the config.ini : [ndbd default] NoOfReplicas= 1 MaxNoOfConcurrentOperations= 10000 DataMemory= 500M IndexMemory= 500M TimeBetweenWatchDogCheck= 30000 DataDir= /test/mysql/cluster MaxNoOfOrderedIndexes= 512 [ndb_mgmd] Id=1 HostName=192.168.1.100 DataDir= /test/mysql/cluster [ndbd] Id= 2 HostName=192.168.1.10 [ndbd] Id= 3 HostName=192.168.1.11 [mysqld] Id=4 Suggested fix: on the ndb_global.h Change: #define NDB_PORT "yes" By: #define NDB_PORT "2202" //2202 IANA port for the powerful MySQL CLuster, lets play with parallelism.