| Bug #38502 | NDB_PORT cause ndb_mgmd fail | ||
|---|---|---|---|
| Submitted: | 31 Jul 2008 19:11 | Modified: | 10 Oct 2009 16:45 |
| Reporter: | Benmeida Marouane | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
| Version: | mysql-5.1 | OS: | Linux |
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
| Tags: | -5.0.51b AND 5.0.51a, 5.1 bzr, aborted, cluster, ndb_mgmd | ||
[31 Jul 2008 19:47]
Magnus Blåudd
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 19:49]
Magnus Blåudd
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 20:20]
Sveta Smirnova
Thank you for the report. Verified as described.
[12 Nov 2008 14:15]
Jonas Oreland
R3: messing with configure is always a pain E1:
[24 Sep 2009 10:31]
Magnus Blåudd
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 16: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 13:41]
Magnus Blåudd
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 14: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 14: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 14: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 14: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 16: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 15: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.