Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
a1e0046c
Commit
a1e0046c
authored
Aug 23, 2004
by
tomas@poseidon.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.(none):/home/tomas/mysql-4.1
parents
b1847f47
91f10a99
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
462 additions
and
405 deletions
+462
-405
acinclude.m4
acinclude.m4
+5
-0
configure.in
configure.in
+7
-2
mysql-test/ndb/ndb_config_2_node.ini
mysql-test/ndb/ndb_config_2_node.ini
+2
-10
ndb/include/ndb_global.h
ndb/include/ndb_global.h
+0
-1
ndb/src/common/mgmcommon/ConfigInfo.cpp
ndb/src/common/mgmcommon/ConfigInfo.cpp
+399
-370
ndb/src/common/mgmcommon/ConfigInfo.hpp
ndb/src/common/mgmcommon/ConfigInfo.hpp
+5
-5
ndb/src/common/mgmcommon/InitConfigFileParser.cpp
ndb/src/common/mgmcommon/InitConfigFileParser.cpp
+5
-11
ndb/src/common/mgmcommon/InitConfigFileParser.hpp
ndb/src/common/mgmcommon/InitConfigFileParser.hpp
+3
-2
ndb/src/common/mgmcommon/LocalConfig.cpp
ndb/src/common/mgmcommon/LocalConfig.cpp
+1
-1
ndb/src/common/mgmcommon/Makefile.am
ndb/src/common/mgmcommon/Makefile.am
+9
-0
ndb/src/mgmsrv/Services.cpp
ndb/src/mgmsrv/Services.cpp
+24
-2
ndb/src/mgmsrv/main.cpp
ndb/src/mgmsrv/main.cpp
+2
-1
No files found.
acinclude.m4
View file @
a1e0046c
...
...
@@ -1515,6 +1515,11 @@ AC_DEFUN([MYSQL_CHECK_NDB_OPTIONS], [
--with-ndb-docs Include the NDB Cluster ndbapi and mgmapi documentation],
[ndb_docs="$withval"],
[ndb_docs=no])
AC_ARG_WITH([ndb-port-base],
[
--with-ndb-port-base Base port for NDB Cluster],
[ndb_port_base="$withval"],
[ndb_port_base="default"])
AC_MSG_CHECKING([for NDB Cluster options])
AC_MSG_RESULT([])
...
...
configure.in
View file @
a1e0046c
...
...
@@ -389,8 +389,6 @@ then
# Disable exceptions as they seams to create problems with gcc and threads.
# mysqld doesn't use run-time-type-checking, so we disable it.
CXXFLAGS
=
"
$CXXFLAGS
-fno-implicit-templates -fno-exceptions -fno-rtti"
# ndb cannot be compiled with -fno-implicit-templaces
ndb_cxxflags_fix
=
"
$ndb_cxxflags_fix
-fimplicit-templates"
# If you are using 'gcc' 3.0 (not g++) to compile C++ programs on Linux,
# we will gets some problems when linking static programs.
...
...
@@ -2985,6 +2983,13 @@ then
AC_SUBST
([
NDB_DEFS]
)
AC_SUBST
([
ndb_cxxflags_fix]
)
if
test
X
"
$ndb_port_base
"
=
Xdefault
then
ndb_port_base
=
"2200"
fi
AC_SUBST
([
ndb_port_base]
)
ndb_transporter_opt_objs
=
""
if
test
X
"
$have_ndb_shm
"
=
Xyes
then
...
...
mysql-test/ndb/ndb_config_2_node.ini
View file @
a1e0046c
...
...
@@ -7,19 +7,11 @@ Diskless: CHOOSE_Diskless
TimeBetweenWatchDogCheck:
30000
FileSystemPath:
CHOOSE_FILESYSTEM
[COMPUTER]
Id:
1
HostName:
CHOOSE_HOSTNAME_1
[COMPUTER]
Id:
2
HostName:
CHOOSE_HOSTNAME_2
[DB]
ExecuteOnComputer:
1
HostName:
CHOOSE_HOSTNAME_
1
[DB]
ExecuteOnComputer:
2
HostName:
CHOOSE_HOSTNAME_
2
[MGM]
PortNumber:
CHOOSE_PORT_MGM
...
...
ndb/include/ndb_global.h
View file @
a1e0046c
...
...
@@ -3,7 +3,6 @@
#define NDBGLOBAL_H
#include <my_global.h>
#define NDB_BASE_PORT 2200
/** signal & SIG_PIPE */
#include <my_alarm.h>
...
...
ndb/src/common/mgmcommon/ConfigInfo.cpp
View file @
a1e0046c
...
...
@@ -18,10 +18,15 @@
#include "ConfigInfo.hpp"
#include <mgmapi_config_parameters.h>
#include <ndb_limits.h>
#include "InitConfigFileParser.hpp"
#define MAX_LINE_LENGTH 255
#define KEY_INTERNAL 0
#define MAX_INT_RNIL (RNIL - 1)
#define RNIL_STRING "0xffffff00"
#define MAX_INT_RNIL_STRING "0xfffffeff"
#define MAX_NODES_STRING "63"
/****************************************************************************
* Section names
****************************************************************************/
...
...
@@ -207,6 +212,7 @@ const DepricationTransform f_deprication[] = {
* Parameters used under development should be marked "NOTIMPLEMENTED"
* *******************************************************************
*/
const
ConfigInfo
::
ParamInfo
ConfigInfo
::
m_ParamInfo
[]
=
{
/****************************************************************************
...
...
@@ -232,8 +238,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
0
},
0
,
0
},
{
KEY_INTERNAL
,
...
...
@@ -244,8 +249,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
0
,
0
},
/****************************************************************************
* SYSTEM
...
...
@@ -258,9 +262,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
CFG_SECTION_SYSTEM
,
0
,
0
},
(
const
char
*
)
CFG_SECTION_SYSTEM
,
0
,
0
},
{
CFG_SYS_NAME
,
...
...
@@ -271,8 +274,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
0
},
0
,
0
},
{
CFG_SYS_REPLICATION_ROLE
,
...
...
@@ -283,8 +285,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
0
},
0
,
0
},
{
CFG_SYS_PRIMARY_MGM_NODE
,
...
...
@@ -294,9 +295,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
MAX_INT_RNIL
},
"0"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_SYS_CONFIG_GENERATION
,
...
...
@@ -306,9 +307,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
MAX_INT_RNIL
},
"0"
,
"0"
,
MAX_INT_RNIL
_STRING
},
/***************************************************************************
* DB
...
...
@@ -321,8 +322,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
NODE_TYPE_DB
,
0
,
0
(
const
char
*
)
NODE_TYPE_DB
,
0
,
0
},
{
...
...
@@ -334,8 +335,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_SYSTEM
,
...
...
@@ -346,8 +346,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_ID
,
...
...
@@ -358,8 +357,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
1
,
(
MAX_NODES
-
1
)
},
"1"
,
MAX_NODES_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -370,8 +369,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
UNDEFINED
,
1
,
65535
},
"1"
,
MAX_INT_RNIL_STRING
},
{
CFG_DB_NO_REPLICAS
,
...
...
@@ -382,8 +381,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
1
,
4
},
"1"
,
"4"
},
{
CFG_DB_NO_ATTRIBUTES
,
...
...
@@ -393,9 +392,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
1000
,
32
,
MAX_INT_RNIL
/
16
},
"1000"
,
"32"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_NO_TABLES
,
...
...
@@ -405,9 +404,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
128
,
8
,
MAX_INT_RNIL
},
"128"
,
"8"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_NO_INDEXES
,
...
...
@@ -417,9 +416,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
128
,
0
,
MAX_INT_RNIL
},
"128"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_NO_INDEX_OPS
,
...
...
@@ -429,9 +428,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
8192
,
0
,
MAX_INT_RNIL
"8K"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
...
...
@@ -442,9 +441,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
768
,
0
,
MAX_INT_RNIL
},
"768"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_NO_TRIGGER_OPS
,
...
...
@@ -454,9 +453,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
4000
,
0
,
MAX_INT_RNIL
},
"4000"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -466,9 +465,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
UNDEFINED
,
0
,
0
},
{
CFG_DB_NO_SAVE_MSGS
,
...
...
@@ -478,9 +476,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
25
,
0
,
MAX_INT_RNIL
},
"25"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_MEMLOCK
,
...
...
@@ -490,9 +488,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
BOOL
,
false
,
0
,
MAX_INT_RNIL
},
"false"
,
"false"
,
"true"
},
{
CFG_DB_WATCHDOG_INTERVAL
,
...
...
@@ -502,9 +500,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
6000
,
70
,
MAX_INT_RNIL
},
"6000"
,
"70"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_STOP_ON_ERROR
,
...
...
@@ -514,9 +512,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
BOOL
,
true
,
0
,
MAX_INT_RNIL
},
"true"
,
"false"
,
"true"
},
{
CFG_DB_STOP_ON_ERROR_INSERT
,
...
...
@@ -526,9 +524,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
INTERNAL
,
true
,
ConfigInfo
::
INT
,
2
,
0
,
4
},
"2"
,
"0"
,
"4"
},
{
CFG_DB_NO_OPS
,
...
...
@@ -538,9 +536,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
32768
,
32
,
MAX_INT_RNIL
},
"32K"
,
"32"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_NO_TRANSACTIONS
,
...
...
@@ -550,9 +548,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
4096
,
32
,
MAX_INT_RNIL
},
"4096"
,
"32"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_NO_SCANS
,
...
...
@@ -562,9 +560,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
256
,
2
,
500
},
"256"
,
"2"
,
"500"
},
{
CFG_DB_TRANS_BUFFER_MEM
,
...
...
@@ -574,9 +572,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
(
1024
*
1024
)
,
1024
,
MAX_INT_RNIL
},
"1M"
,
"1K"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_INDEX_MEM
,
...
...
@@ -586,9 +584,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT64
,
3
*
1024
*
8192
,
128
*
8192
,
((
Uint64
)
MAX_INT_RNIL
)
*
((
Uint64
)
8192
)
},
"18M"
,
"1M"
,
"1024G"
},
{
CFG_DB_DATA_MEM
,
...
...
@@ -598,9 +596,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT64
,
10
*
1024
*
8192
,
128
*
8192
,
((
Uint64
)
MAX_INT_RNIL
)
*
((
Uint64
)
8192
)
},
"80M"
,
"1M"
,
"1024G"
},
{
CFG_DB_START_PARTIAL_TIMEOUT
,
...
...
@@ -610,9 +608,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
30000
,
0
,
~
0
},
"30000"
,
"0"
,
MAX_INT_RNIL_STRING
},
{
CFG_DB_START_PARTITION_TIMEOUT
,
...
...
@@ -622,9 +620,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
60000
,
0
,
~
0
},
"60000"
,
"0"
,
MAX_INT_RNIL_STRING
},
{
CFG_DB_START_FAILURE_TIMEOUT
,
...
...
@@ -634,9 +632,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
0
,
0
,
~
0
},
"0"
,
"0"
,
MAX_INT_RNIL_STRING
},
{
CFG_DB_HEARTBEAT_INTERVAL
,
...
...
@@ -646,9 +644,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
1500
,
10
,
MAX_INT_RNIL
},
"1500"
,
"10"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_API_HEARTBEAT_INTERVAL
,
...
...
@@ -658,9 +656,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
1500
,
100
,
MAX_INT_RNIL
},
"1500"
,
"100"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_LCP_INTERVAL
,
...
...
@@ -670,9 +668,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
20
,
0
,
31
},
"20"
,
"0"
,
"31"
},
{
CFG_DB_GCP_INTERVAL
,
...
...
@@ -682,9 +680,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
2000
,
10
,
32000
},
"2000"
,
"10"
,
"32000"
},
{
CFG_DB_NO_REDOLOG_FILES
,
...
...
@@ -694,9 +692,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
8
,
1
,
MAX_INT_RNIL
},
"8"
,
"1"
,
MAX_INT_RNIL
_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -706,9 +704,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
40
,
20
,
256
},
"40"
,
"20"
,
"256"
},
{
...
...
@@ -719,9 +717,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
1000
,
1000
,
MAX_INT_RNIL
},
"1000"
,
"1000"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_TRANSACTION_INACTIVE_TIMEOUT
,
...
...
@@ -735,9 +733,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
MAX_INT_RNIL
,
0
,
MAX_INT_RNIL
},
MAX_INT_RNIL
_STRING
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_TRANSACTION_DEADLOCK_TIMEOUT
,
...
...
@@ -750,9 +748,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
1200
,
50
,
MAX_INT_RNIL
},
"1200"
,
"50"
,
MAX_INT_RNIL
_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -762,9 +760,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
40
,
1
,
MAX_INT_RNIL
},
"40"
,
"1"
,
MAX_INT_RNIL
_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -774,9 +772,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
40
,
1
,
MAX_INT_RNIL
},
"40"
,
"1"
,
MAX_INT_RNIL
_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -786,9 +784,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
20
,
1
,
MAX_INT_RNIL
},
"20"
,
"1"
,
MAX_INT_RNIL
_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -798,9 +796,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
20
,
1
,
MAX_INT_RNIL
},
"20"
,
"1"
,
MAX_INT_RNIL
_STRING
},
{
...
...
@@ -811,9 +809,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
BOOL
,
0
,
0
,
1
},
"false"
,
"false"
,
"true"
},
{
KEY_INTERNAL
,
...
...
@@ -823,9 +821,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
DEPRICATED
,
true
,
ConfigInfo
::
BOOL
,
0
,
0
,
1
},
"false"
,
"false"
,
"true"
},
...
...
@@ -837,9 +835,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
3000
,
10
,
MAX_INT_RNIL
},
"3000"
,
"10"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_FILESYSTEM_PATH
,
...
...
@@ -849,9 +847,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
DATADIR
,
0
,
0
},
{
CFG_LOGLEVEL_STARTUP
,
...
...
@@ -861,9 +858,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
1
,
0
,
15
},
"1"
,
"0"
,
"15"
},
{
CFG_LOGLEVEL_SHUTDOWN
,
...
...
@@ -873,9 +870,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
15
},
"0"
,
"0"
,
"15"
},
{
CFG_LOGLEVEL_STATISTICS
,
...
...
@@ -885,9 +882,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
15
},
"0"
,
"0"
,
"15"
},
{
CFG_LOGLEVEL_CHECKPOINT
,
...
...
@@ -897,9 +894,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
15
},
"0"
,
"0"
,
"15"
},
{
CFG_LOGLEVEL_NODERESTART
,
...
...
@@ -909,9 +906,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
15
},
"0"
,
"0"
,
"15"
},
{
CFG_LOGLEVEL_CONNECTION
,
...
...
@@ -921,9 +918,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
15
},
"0"
,
"0"
,
"15"
},
{
CFG_LOGLEVEL_ERROR
,
...
...
@@ -933,9 +930,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
15
},
"0"
,
"0"
,
"15"
},
{
CFG_LOGLEVEL_INFO
,
...
...
@@ -945,9 +942,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
15
},
"0"
,
"0"
,
"15"
},
/**
* Backup
...
...
@@ -960,9 +957,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
NOTIMPLEMENTED
,
false
,
ConfigInfo
::
INT
,
1
,
1
,
1
},
"1"
,
"1"
,
"1"
},
{
CFG_DB_BACKUP_MEM
,
...
...
@@ -972,9 +969,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
(
2
*
1024
*
1024
)
+
(
2
*
1024
*
1024
)
,
// sum of BackupDataBufferSize and BackupLogBufferSize
0
,
MAX_INT_RNIL
},
"4M"
,
// sum of BackupDataBufferSize and BackupLogBufferSize
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_BACKUP_DATA_BUFFER_MEM
,
...
...
@@ -984,9 +981,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
(
2
*
1024
*
1024
)
,
// remember to change BackupMemory
0
,
MAX_INT_RNIL
},
"2M"
,
// remember to change BackupMemory
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_BACKUP_LOG_BUFFER_MEM
,
...
...
@@ -996,9 +993,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
(
2
*
1024
*
1024
)
,
// remember to change BackupMemory
0
,
MAX_INT_RNIL
},
"2M"
,
// remember to change BackupMemory
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_DB_BACKUP_WRITE_SIZE
,
...
...
@@ -1008,9 +1005,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
32768
,
0
,
MAX_INT_RNIL
},
"32K"
,
"0"
,
MAX_INT_RNIL
_STRING
},
/***************************************************************************
* REP
...
...
@@ -1023,8 +1020,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
NODE_TYPE_REP
,
0
,
0
(
const
char
*
)
NODE_TYPE_REP
,
0
,
0
},
{
...
...
@@ -1036,8 +1033,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_SYSTEM
,
...
...
@@ -1048,8 +1044,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_ID
,
...
...
@@ -1060,8 +1055,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
1
,
(
MAX_NODES
-
1
)
},
"1"
,
MAX_NODES_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -1072,8 +1067,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_REP_HEARTBEAT_INTERVAL
,
...
...
@@ -1083,9 +1077,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
true
,
ConfigInfo
::
INT
,
3000
,
100
,
MAX_INT_RNIL
},
"3000"
,
"100"
,
MAX_INT_RNIL
_STRING
},
/***************************************************************************
* API
...
...
@@ -1098,8 +1092,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
NODE_TYPE_API
,
0
,
0
(
const
char
*
)
NODE_TYPE_API
,
0
,
0
},
{
...
...
@@ -1111,8 +1105,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_SYSTEM
,
...
...
@@ -1123,8 +1116,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_ID
,
...
...
@@ -1135,8 +1127,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
1
,
(
MAX_NODES
-
1
)
},
"1"
,
MAX_NODES_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -1146,9 +1138,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
STRING
,
0
,
0
,
MAX_INT_RNIL
},
UNDEFINED
,
0
,
0
},
{
CFG_NODE_ARBIT_RANK
,
...
...
@@ -1158,9 +1149,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
2
},
"0"
,
"0"
,
"2"
},
{
CFG_NODE_ARBIT_DELAY
,
...
...
@@ -1170,9 +1161,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
MAX_INT_RNIL
},
"0"
,
"0"
,
MAX_INT_RNIL
_STRING
},
/****************************************************************************
* MGM
...
...
@@ -1185,8 +1176,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
NODE_TYPE_MGM
,
0
,
0
(
const
char
*
)
NODE_TYPE_MGM
,
0
,
0
},
{
...
...
@@ -1198,8 +1189,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_SYSTEM
,
...
...
@@ -1210,8 +1200,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_NODE_ID
,
...
...
@@ -1222,8 +1211,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
1
,
(
MAX_NODES
-
1
)
},
"1"
,
MAX_NODES_STRING
},
{
CFG_LOG_DESTINATION
,
...
...
@@ -1234,8 +1223,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
0
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
KEY_INTERNAL
,
...
...
@@ -1246,9 +1234,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
0
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
KEY_INTERNAL
,
"MaxNoOfSavedEvents"
,
...
...
@@ -1257,9 +1244,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
100
,
0
,
MAX_INT_RNIL
},
"100"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_MGM_PORT
,
...
...
@@ -1270,8 +1257,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
NDB_BASE_PORT
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
KEY_INTERNAL
,
...
...
@@ -1281,9 +1268,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
2199
,
0
,
MAX_INT_RNIL
},
"2199"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_NODE_ARBIT_RANK
,
...
...
@@ -1293,9 +1280,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
1
,
0
,
2
},
"1"
,
"0"
,
"2"
},
{
CFG_NODE_ARBIT_DELAY
,
...
...
@@ -1305,9 +1292,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
0
,
0
,
MAX_INT_RNIL
},
"0"
,
"0"
,
MAX_INT_RNIL
_STRING
},
/****************************************************************************
* TCP
...
...
@@ -1320,8 +1307,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
CONNECTION_TYPE_TCP
,
0
,
0
(
const
char
*
)
CONNECTION_TYPE_TCP
,
0
,
0
},
{
...
...
@@ -1333,8 +1320,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_TCP_HOSTNAME_2
,
...
...
@@ -1345,8 +1331,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_NODE_1
,
...
...
@@ -1357,8 +1342,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_NODE_2
,
...
...
@@ -1369,8 +1353,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_SEND_SIGNAL_ID
,
...
...
@@ -1380,9 +1363,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
true
,
0
,
MAX_INT_RNIL
},
"true"
,
"false"
,
"true"
},
{
...
...
@@ -1393,9 +1376,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
false
,
0
,
MAX_INT_RNIL
},
"false"
,
"false"
,
"true"
},
{
CFG_CONNECTION_SERVER_PORT
,
...
...
@@ -1406,8 +1389,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_TCP_SEND_BUFFER_SIZE
,
...
...
@@ -1417,9 +1400,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
16
*
16384
,
1
*
16384
,
MAX_INT_RNIL
},
"256K"
,
"16K"
,
MAX_INT_RNIL
_STRING
},
{
CFG_TCP_RECEIVE_BUFFER_SIZE
,
...
...
@@ -1429,9 +1412,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
4
*
16384
,
1
*
16384
,
MAX_INT_RNIL
},
"64K"
,
"16K"
,
MAX_INT_RNIL
_STRING
},
{
CFG_TCP_PROXY
,
...
...
@@ -1442,8 +1425,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
0
},
0
,
0
},
{
CFG_CONNECTION_NODE_1_SYSTEM
,
...
...
@@ -1454,8 +1436,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_NODE_2_SYSTEM
,
...
...
@@ -1466,8 +1447,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
/****************************************************************************
...
...
@@ -1481,9 +1461,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
CONNECTION_TYPE_SHM
,
0
,
0
},
(
const
char
*
)
CONNECTION_TYPE_SHM
,
0
,
0
},
{
CFG_CONNECTION_NODE_1
,
...
...
@@ -1494,8 +1473,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_SERVER_PORT
,
...
...
@@ -1506,8 +1484,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_NODE_2
,
...
...
@@ -1518,8 +1496,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_SEND_SIGNAL_ID
,
...
...
@@ -1529,9 +1506,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
false
,
0
,
MAX_INT_RNIL
},
"false"
,
"false"
,
"true"
},
{
...
...
@@ -1542,9 +1519,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
true
,
0
,
MAX_INT_RNIL
},
"true"
,
"false"
,
"true"
},
{
CFG_SHM_KEY
,
...
...
@@ -1555,8 +1532,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_SHM_BUFFER_MEM
,
...
...
@@ -1566,10 +1543,10 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
1048576
,
4096
,
MAX_INT_RNIL
},
"1M"
,
"4K"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_NODE_1_SYSTEM
,
"NodeId1_System"
,
...
...
@@ -1579,8 +1556,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_NODE_2_SYSTEM
,
...
...
@@ -1591,8 +1567,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
/****************************************************************************
* SCI
...
...
@@ -1605,7 +1580,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
CONNECTION_TYPE_SCI
,
(
const
char
*
)
CONNECTION_TYPE_SCI
,
0
,
0
},
...
...
@@ -1618,8 +1593,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_NODE_2
,
...
...
@@ -1630,8 +1605,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_SCI_ID_0
,
...
...
@@ -1642,8 +1617,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_SCI_ID_1
,
...
...
@@ -1654,8 +1629,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_SEND_SIGNAL_ID
,
...
...
@@ -1665,9 +1640,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
true
,
0
,
MAX_INT_RNIL
},
"true"
,
"false"
,
"true"
},
{
CFG_CONNECTION_CHECKSUM
,
...
...
@@ -1677,9 +1652,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
false
,
0
,
MAX_INT_RNIL
},
"false"
,
"false"
,
"true"
},
{
CFG_SCI_SEND_LIMIT
,
...
...
@@ -1689,9 +1664,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
2048
,
512
,
MAX_INT_RNIL
},
"2K"
,
"512"
,
MAX_INT_RNIL
_STRING
},
{
CFG_SCI_BUFFER_MEM
,
...
...
@@ -1701,9 +1676,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
1048576
,
262144
,
MAX_INT_RNIL
},
"1M"
,
"256K"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_NODE_1_SYSTEM
,
...
...
@@ -1714,8 +1689,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_NODE_2_SYSTEM
,
...
...
@@ -1726,8 +1700,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
/****************************************************************************
* OSE
...
...
@@ -1740,7 +1713,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
SECTION
,
CONNECTION_TYPE_OSE
,
(
const
char
*
)
CONNECTION_TYPE_OSE
,
0
,
0
},
...
...
@@ -1753,8 +1726,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_OSE_HOSTNAME_2
,
...
...
@@ -1765,8 +1737,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_NODE_1
,
...
...
@@ -1777,8 +1748,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
MANDATORY
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_NODE_2
,
...
...
@@ -1789,8 +1760,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
INT
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_SEND_SIGNAL_ID
,
...
...
@@ -1800,9 +1771,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
true
,
0
,
MAX_INT_RNIL
},
"true"
,
"false"
,
"true"
},
{
CFG_CONNECTION_CHECKSUM
,
...
...
@@ -1812,9 +1783,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
BOOL
,
false
,
0
,
MAX_INT_RNIL
},
"false"
,
"false"
,
"true"
},
{
CFG_OSE_PRIO_A_SIZE
,
...
...
@@ -1824,9 +1795,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
1000
,
0
,
MAX_INT_RNIL
},
"1000"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_OSE_PRIO_B_SIZE
,
...
...
@@ -1836,9 +1807,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
1000
,
0
,
MAX_INT_RNIL
},
"1000"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_OSE_RECEIVE_ARRAY_SIZE
,
...
...
@@ -1848,9 +1819,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo
::
USED
,
false
,
ConfigInfo
::
INT
,
10
,
0
,
MAX_INT_RNIL
},
"10"
,
"0"
,
MAX_INT_RNIL
_STRING
},
{
CFG_CONNECTION_NODE_1_SYSTEM
,
...
...
@@ -1861,8 +1832,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
{
CFG_CONNECTION_NODE_2_SYSTEM
,
...
...
@@ -1873,8 +1843,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
false
,
ConfigInfo
::
STRING
,
UNDEFINED
,
0
,
MAX_INT_RNIL
},
0
,
0
},
};
const
int
ConfigInfo
::
m_NoOfParams
=
sizeof
(
m_ParamInfo
)
/
sizeof
(
ParamInfo
);
...
...
@@ -1893,8 +1862,20 @@ ConfigInfo::ConfigInfo() {
m_info
.
setCaseInsensitiveNames
(
true
);
m_systemDefaults
.
setCaseInsensitiveNames
(
true
);
{
Uint64
tmp_uint64
;
require
(
InitConfigFileParser
::
convertStringToUint64
(
RNIL_STRING
,
tmp_uint64
));
require
(
tmp_uint64
==
RNIL
);
require
(
InitConfigFileParser
::
convertStringToUint64
(
MAX_INT_RNIL_STRING
,
tmp_uint64
));
require
(
tmp_uint64
==
((
Uint64
)
RNIL
-
1
));
require
(
InitConfigFileParser
::
convertStringToUint64
(
MAX_NODES_STRING
,
tmp_uint64
));
require
(
tmp_uint64
==
(
MAX_NODES
-
1
));
}
for
(
i
=
0
;
i
<
m_NoOfParams
;
i
++
)
{
const
ParamInfo
&
param
=
m_ParamInfo
[
i
];
Uint64
default_uint64
;
bool
default_bool
;
// Create new section if it did not exist
if
(
!
m_info
.
getCopy
(
param
.
_section
,
&
section
))
{
...
...
@@ -1914,9 +1895,37 @@ ConfigInfo::ConfigInfo() {
pinfo
.
put
(
"Updateable"
,
param
.
_updateable
);
pinfo
.
put
(
"Type"
,
param
.
_type
);
pinfo
.
put
(
"Status"
,
param
.
_status
);
pinfo
.
put64
(
"Default"
,
param
.
_default
);
pinfo
.
put64
(
"Min"
,
param
.
_min
);
pinfo
.
put64
(
"Max"
,
param
.
_max
);
if
(
param
.
_default
==
MANDATORY
){
pinfo
.
put
(
"Mandatory"
,
(
Uint32
)
1
);
}
switch
(
param
.
_type
)
{
case
BOOL
:
{
bool
tmp_bool
;
require
(
InitConfigFileParser
::
convertStringToBool
(
param
.
_min
,
tmp_bool
));
pinfo
.
put64
(
"Min"
,
tmp_bool
);
require
(
InitConfigFileParser
::
convertStringToBool
(
param
.
_max
,
tmp_bool
));
pinfo
.
put64
(
"Max"
,
tmp_bool
);
break
;
}
case
INT
:
case
INT64
:
{
Uint64
tmp_uint64
;
require
(
InitConfigFileParser
::
convertStringToUint64
(
param
.
_min
,
tmp_uint64
));
pinfo
.
put64
(
"Min"
,
tmp_uint64
);
require
(
InitConfigFileParser
::
convertStringToUint64
(
param
.
_max
,
tmp_uint64
));
pinfo
.
put64
(
"Max"
,
tmp_uint64
);
break
;
}
case
SECTION
:
pinfo
.
put
(
"SectionType"
,
(
Uint32
)
param
.
_default
);
break
;
case
STRING
:
break
;
}
// Check that pinfo is really new
if
(
section
->
get
(
param
.
_fname
,
&
oldpinfo
))
{
...
...
@@ -1938,10 +1947,31 @@ ConfigInfo::ConfigInfo() {
p
=
new
Properties
();
p
->
setCaseInsensitiveNames
(
true
);
}
if
(
param
.
_type
!=
STRING
&&
param
.
_default
!=
UNDEFINED
&&
if
(
param
.
_default
!=
UNDEFINED
&&
param
.
_default
!=
MANDATORY
){
require
(
p
->
put
(
param
.
_fname
,
param
.
_default
));
switch
(
param
.
_type
)
{
case
SECTION
:
break
;
case
STRING
:
require
(
p
->
put
(
param
.
_fname
,
param
.
_default
));
break
;
case
BOOL
:
{
bool
tmp_bool
;
require
(
InitConfigFileParser
::
convertStringToBool
(
param
.
_default
,
default_bool
));
require
(
p
->
put
(
param
.
_fname
,
default_bool
));
break
;
}
case
INT
:
case
INT64
:
{
Uint64
tmp_uint64
;
require
(
InitConfigFileParser
::
convertStringToUint64
(
param
.
_default
,
default_uint64
));
require
(
p
->
put
(
param
.
_fname
,
default_uint64
));
break
;
}
}
}
require
(
m_systemDefaults
.
put
(
param
.
_section
,
p
,
true
));
delete
p
;
...
...
@@ -2125,7 +2155,7 @@ void ConfigInfo::print(const Properties * section,
ndbout
<<
"Default: N (Legal values: Y, N)"
<<
endl
;
}
else
if
(
getDefault
(
section
,
parameter
)
==
true
)
{
ndbout
<<
"Default: Y (Legal values: Y, N)"
<<
endl
;
}
else
if
(
getDefault
(
section
,
parameter
)
==
MANDATORY
)
{
}
else
if
(
getDefault
(
section
,
parameter
)
==
(
UintPtr
)
MANDATORY
)
{
ndbout
<<
"MANDATORY (Legal values: Y, N)"
<<
endl
;
}
else
{
ndbout
<<
"UNKNOWN"
<<
endl
;
...
...
@@ -2137,9 +2167,9 @@ void ConfigInfo::print(const Properties * section,
case
ConfigInfo
:
:
INT64
:
ndbout
<<
" (Non-negative Integer)"
<<
endl
;
ndbout
<<
getDescription
(
section
,
parameter
)
<<
endl
;
if
(
getDefault
(
section
,
parameter
)
==
MANDATORY
)
{
if
(
getDefault
(
section
,
parameter
)
==
(
UintPtr
)
MANDATORY
)
{
ndbout
<<
"MANDATORY ("
;
}
else
if
(
getDefault
(
section
,
parameter
)
==
UNDEFINED
)
{
}
else
if
(
getDefault
(
section
,
parameter
)
==
(
UintPtr
)
UNDEFINED
)
{
ndbout
<<
"UNDEFINED ("
;
}
else
{
ndbout
<<
"Default: "
<<
getDefault
(
section
,
parameter
)
<<
" ("
;
...
...
@@ -2152,7 +2182,7 @@ void ConfigInfo::print(const Properties * section,
case
ConfigInfo
:
:
STRING
:
ndbout
<<
" (String)"
<<
endl
;
ndbout
<<
getDescription
(
section
,
parameter
)
<<
endl
;
if
(
getDefault
(
section
,
parameter
)
==
MANDATORY
)
{
if
(
getDefault
(
section
,
parameter
)
==
(
UintPtr
)
MANDATORY
)
{
ndbout
<<
"MANDATORY"
<<
endl
;
}
else
{
ndbout
<<
"No default value"
<<
endl
;
...
...
@@ -2218,17 +2248,17 @@ transformNode(InitConfigFileParser::Context & ctx, const char * data){
bool
fixNodeHostname
(
InitConfigFileParser
::
Context
&
ctx
,
const
char
*
data
){
const
char
*
hostname
;
if
(
ctx
.
m_currentSection
->
get
(
"HostName"
,
&
hostname
))
return
true
;
const
char
*
compId
;
if
(
!
ctx
.
m_currentSection
->
get
(
"ExecuteOnComputer"
,
&
compId
)){
require
(
ctx
.
m_currentSection
->
put
(
"HostName"
,
""
));
const
char
*
type
;
if
(
ctx
.
m_currentSection
->
get
(
"Type"
,
&
type
)
&&
strcmp
(
type
,
"DB"
)
==
0
)
{
ctx
.
reportError
(
"Parameter
\"
ExecuteOnComputer
\"
missing from DB section"
" [%s] starting at line: %d"
,
ctx
.
fname
,
ctx
.
m_sectionLineno
);
return
false
;
}
if
(
ctx
.
m_currentSection
->
get
(
"Type"
,
&
type
)
&&
strcmp
(
type
,
"DB"
)
==
0
)
require
(
ctx
.
m_currentSection
->
put
(
"HostName"
,
"localhost"
));
else
require
(
ctx
.
m_currentSection
->
put
(
"HostName"
,
""
));
return
true
;
}
...
...
@@ -2242,7 +2272,6 @@ fixNodeHostname(InitConfigFileParser::Context & ctx, const char * data){
return
false
;
}
const
char
*
hostname
;
if
(
!
computer
->
get
(
"HostName"
,
&
hostname
)){
ctx
.
reportError
(
"HostName missing in [COMPUTER] (Id: %d) "
" - [%s] starting at line: %d"
,
...
...
@@ -2440,7 +2469,7 @@ checkMandatory(InitConfigFileParser::Context & ctx, const char * data){
const
Properties
*
info
=
NULL
;
::
require
(
ctx
.
m_currentInfo
->
get
(
name
,
&
info
));
Uint32
val
;
if
(
info
->
get
(
"
Default"
,
&
val
)
&&
val
==
MANDATORY
){
if
(
info
->
get
(
"
Mandatory"
,
&
val
)
){
const
char
*
fname
;
::
require
(
info
->
get
(
"Fname"
,
&
fname
));
if
(
!
ctx
.
m_currentSection
->
contains
(
fname
)){
...
...
@@ -2634,7 +2663,7 @@ fixPortNumber(InitConfigFileParser::Context & ctx, const char * data){
if
(
!
ctx
.
m_userProperties
.
get
(
"ServerPortBase"
,
&
base
)){
if
(
!
(
ctx
.
m_userDefaults
&&
ctx
.
m_userDefaults
->
get
(
"PortNumber"
,
&
base
))
&&
!
ctx
.
m_systemDefaults
->
get
(
"PortNumber"
,
&
base
))
{
base
=
NDB_BASE_PORT
+
2
;
base
=
strtoll
(
NDB_BASE_PORT
,
0
,
0
)
+
2
;
// ctx.reportError("Cannot retrieve base port number");
// return false;
}
...
...
@@ -2886,7 +2915,7 @@ saveInConfigValues(InitConfigFileParser::Context & ctx, const char * data){
require
(
sec
->
get
(
"Fname"
,
&
secName
));
require
(
sec
->
get
(
"Id"
,
&
id
));
require
(
sec
->
get
(
"Status"
,
&
status
));
require
(
sec
->
get
(
"
Default
"
,
&
typeVal
));
require
(
sec
->
get
(
"
SectionType
"
,
&
typeVal
));
if
(
id
==
KEY_INTERNAL
||
status
==
ConfigInfo
::
INTERNAL
){
ndbout_c
(
"skipping section %s"
,
ctx
.
fname
);
...
...
ndb/src/common/mgmcommon/ConfigInfo.hpp
View file @
a1e0046c
...
...
@@ -27,8 +27,8 @@
* A MANDATORY parameters must be specified in the config file
* An UNDEFINED parameter may or may not be specified in the config file
*/
static
const
Uint64
MANDATORY
=
~
0
;
// Default value for mandatory params.
static
const
Uint64
UNDEFINED
=
(
~
0
)
-
1
;
// Default value for undefined params.
static
const
char
*
MANDATORY
=
(
char
*
)
~
(
UintPtr
)
0
;
// Default value for mandatory params.
static
const
char
*
UNDEFINED
=
0
;
// Default value for undefined params.
/**
* @class ConfigInfo
...
...
@@ -56,9 +56,9 @@ public:
Status
_status
;
bool
_updateable
;
Type
_type
;
Uint64
_default
;
Uint64
_min
;
Uint64
_max
;
const
char
*
_default
;
const
char
*
_min
;
const
char
*
_max
;
};
/**
...
...
ndb/src/common/mgmcommon/InitConfigFileParser.cpp
View file @
a1e0046c
...
...
@@ -31,7 +31,6 @@ static void require(bool v) { if(!v) abort();}
// Ctor / Dtor
//****************************************************************************
InitConfigFileParser
::
InitConfigFileParser
(){
m_info
=
new
ConfigInfo
();
}
...
...
@@ -111,7 +110,6 @@ InitConfigFileParser::parseConfig(FILE * file) {
"of configuration file."
);
return
0
;
}
snprintf
(
ctx
.
fname
,
sizeof
(
ctx
.
fname
),
section
);
free
(
section
);
ctx
.
type
=
InitConfigFileParser
::
DefaultSection
;
ctx
.
m_sectionLineno
=
ctx
.
m_lineno
;
...
...
@@ -132,7 +130,6 @@ InitConfigFileParser::parseConfig(FILE * file) {
"of configuration file."
);
return
0
;
}
snprintf
(
ctx
.
fname
,
sizeof
(
ctx
.
fname
),
section
);
free
(
section
);
ctx
.
type
=
InitConfigFileParser
::
Section
;
...
...
@@ -162,7 +159,6 @@ InitConfigFileParser::parseConfig(FILE * file) {
ctx
.
reportError
(
"Could not store section of configuration file."
);
return
0
;
}
for
(
size_t
i
=
0
;
ConfigInfo
::
m_ConfigRules
[
i
].
m_configRule
!=
0
;
i
++
){
ctx
.
type
=
InitConfigFileParser
::
Undefined
;
ctx
.
m_currentSection
=
0
;
...
...
@@ -378,7 +374,7 @@ bool InitConfigFileParser::convertStringToUint64(const char* s,
errno
=
0
;
char
*
p
;
long
long
v
=
strtoll
(
s
,
&
p
,
10
);
long
long
v
=
strtoll
(
s
,
&
p
,
log10base
);
if
(
errno
!=
0
)
return
false
;
...
...
@@ -536,20 +532,18 @@ InitConfigFileParser::storeSection(Context& ctx){
if
(
ctx
.
type
==
InitConfigFileParser
::
Section
){
for
(
int
i
=
0
;
i
<
m_info
->
m_NoOfRules
;
i
++
){
const
ConfigInfo
::
SectionRule
&
rule
=
m_info
->
m_SectionRules
[
i
];
if
(
!
strcmp
(
rule
.
m_section
,
"*"
)
||
!
strcmp
(
rule
.
m_section
,
ctx
.
fname
))
if
(
!
(
*
rule
.
m_sectionRule
)(
ctx
,
rule
.
m_ruleData
))
if
(
!
strcmp
(
rule
.
m_section
,
"*"
)
||
!
strcmp
(
rule
.
m_section
,
ctx
.
fname
))
{
if
(
!
(
*
rule
.
m_sectionRule
)(
ctx
,
rule
.
m_ruleData
))
{
return
false
;
}
}
}
}
if
(
ctx
.
type
==
InitConfigFileParser
::
DefaultSection
)
require
(
ctx
.
m_defaults
->
put
(
ctx
.
pname
,
ctx
.
m_currentSection
));
if
(
ctx
.
type
==
InitConfigFileParser
::
Section
)
require
(
ctx
.
m_config
->
put
(
ctx
.
pname
,
ctx
.
m_currentSection
));
delete
ctx
.
m_currentSection
;
ctx
.
m_currentSection
=
NULL
;
return
true
;
}
...
...
ndb/src/common/mgmcommon/InitConfigFileParser.hpp
View file @
a1e0046c
...
...
@@ -86,6 +86,9 @@ public:
void
reportWarning
(
const
char
*
msg
,
...);
};
static
bool
convertStringToUint64
(
const
char
*
s
,
Uint64
&
val
,
Uint32
log10base
=
0
);
static
bool
convertStringToBool
(
const
char
*
s
,
bool
&
val
);
private:
/**
* Check if line only contains space/comments
...
...
@@ -111,8 +114,6 @@ private:
bool
parseNameValuePair
(
Context
&
,
const
char
*
line
);
bool
storeNameValuePair
(
Context
&
,
const
char
*
fname
,
const
char
*
value
);
bool
convertStringToUint64
(
const
char
*
s
,
Uint64
&
val
,
Uint32
log10base
=
0
);
bool
convertStringToBool
(
const
char
*
s
,
bool
&
val
);
bool
storeSection
(
Context
&
);
const
Properties
*
getSection
(
const
char
*
name
,
const
Properties
*
src
);
...
...
ndb/src/common/mgmcommon/LocalConfig.cpp
View file @
a1e0046c
...
...
@@ -89,7 +89,7 @@ LocalConfig::init(const char *connectString,
//7. Check
{
char
buf
[
256
];
snprintf
(
buf
,
sizeof
(
buf
),
"host=localhost:%
u
"
,
NDB_BASE_PORT
);
snprintf
(
buf
,
sizeof
(
buf
),
"host=localhost:%
s
"
,
NDB_BASE_PORT
);
if
(
readConnectString
(
buf
))
return
true
;
}
...
...
ndb/src/common/mgmcommon/Makefile.am
View file @
a1e0046c
MYSQLDATAdir
=
$(localstatedir)
MYSQLSHAREdir
=
$(pkgdatadir)
MYSQLBASEdir
=
$(prefix)
noinst_LTLIBRARIES
=
libmgmsrvcommon.la
libmgmsrvcommon_la_SOURCES
=
\
...
...
@@ -10,6 +14,11 @@ libmgmsrvcommon_la_SOURCES = \
INCLUDES_LOC
=
-I
$(top_srcdir)
/ndb/src/mgmapi
DEFS_LOC
=
-DDEFAULT_MYSQL_HOME
=
"
\"
$(MYSQLBASEdir)
\"
"
\
-DDATADIR
=
"
\"
$(MYSQLDATAdir)
\"
"
\
-DSHAREDIR
=
"
\"
$(MYSQLSHAREdir)
\"
"
\
-DNDB_BASE_PORT
=
"
\"
@ndb_port_base@
\"
"
include
$(top_srcdir)/ndb/config/common.mk.am
include
$(top_srcdir)/ndb/config/type_ndbapi.mk.am
include
$(top_srcdir)/ndb/config/type_mgmapiclient.mk.am
...
...
ndb/src/mgmsrv/Services.cpp
View file @
a1e0046c
...
...
@@ -31,6 +31,8 @@
#include "Services.hpp"
extern
bool
g_StopServer
;
static
const
unsigned
int
MAX_READ_TIMEOUT
=
1000
;
static
const
unsigned
int
MAX_WRITE_TIMEOUT
=
100
;
...
...
@@ -1012,12 +1014,29 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &,
nodes
.
push_back
(
atoi
(
p
));
}
int
stop_self
=
0
;
for
(
size_t
i
=
0
;
i
<
nodes
.
size
();
i
++
)
{
if
(
nodes
[
i
]
==
m_mgmsrv
.
getOwnNodeId
())
{
stop_self
=
1
;
if
(
i
!=
nodes
.
size
()
-
1
)
{
m_output
->
println
(
"stop reply"
);
m_output
->
println
(
"result: server must be stopped last"
);
m_output
->
println
(
""
);
return
;
}
}
}
int
stopped
=
0
,
result
=
0
;
for
(
size_t
i
=
0
;
i
<
nodes
.
size
();
i
++
)
if
((
result
=
m_mgmsrv
.
stopNode
(
nodes
[
i
],
abort
!=
0
))
==
0
)
if
(
nodes
[
i
]
!=
m_mgmsrv
.
getOwnNodeId
())
{
if
((
result
=
m_mgmsrv
.
stopNode
(
nodes
[
i
],
abort
!=
0
))
==
0
)
stopped
++
;
}
else
stopped
++
;
m_output
->
println
(
"stop reply"
);
if
(
result
!=
0
)
m_output
->
println
(
"result: %s"
,
m_mgmsrv
.
getErrorText
(
result
));
...
...
@@ -1025,6 +1044,9 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &,
m_output
->
println
(
"result: Ok"
);
m_output
->
println
(
"stopped: %d"
,
stopped
);
m_output
->
println
(
""
);
if
(
stop_self
)
g_StopServer
=
true
;
}
...
...
ndb/src/mgmsrv/main.cpp
View file @
a1e0046c
...
...
@@ -265,9 +265,10 @@ NDB_MAIN(mgmsrv){
NdbSleep_MilliSleep
(
500
);
}
g_EventLogger
.
info
(
"Shutting down server..."
);
glob
.
socketServer
->
stopServer
();
glob
.
socketServer
->
stopSessions
();
g_EventLogger
.
info
(
"Shutdown complete"
);
return
0
;
error_end:
return
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment