ndb

  Add support/test for using my.cnf [cluster_config]
parent 1e6f1907
...@@ -3,4 +3,5 @@ ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysql ...@@ -3,4 +3,5 @@ ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysql
1 localhost 41943040 12582912 1 localhost 41943040 12582912
2 localhost 41943040 12582912 2 localhost 41943040 12582912
1 2 1 2
ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3, mysqld,4, mysqld,5, mysqld,6, mysqld,7, ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7,
ndbd,1,localhost,52428800,26214400 ndbd,2,localhost,52428800,36700160 ndbd,3,localhost,52428800,52428800 ndbd,4,localhost,52428800,52428800 ndb_mgmd,5,localhost,, mysqld,6,localhost,,
[cluster_config]
NoOfReplicas=1
DataMemory=50M
[cluster_config.jonas]
IndexMemory=50M
ndbd = localhost,localhost,localhost,localhost
ndb_mgmd = localhost
mysqld = localhost
[cluster_config.ndbd.1]
DataMemory=25M
[cluster_config.ndbd.2.jonas]
DataMemory=35M
...@@ -9,3 +9,5 @@ ...@@ -9,3 +9,5 @@
--exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=type,nodeid,host --config-file=$NDB_BACKUP_DIR/config.ini 2> /dev/null --exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=type,nodeid,host --config-file=$NDB_BACKUP_DIR/config.ini 2> /dev/null
# End of 4.1 tests # End of 4.1 tests
--exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.jonas --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf1.cnf --query=type,nodeid,host,IndexMemory,DataMemory --mycnf 2> /dev/null
...@@ -843,7 +843,7 @@ InitConfigFileParser::parse_mycnf() ...@@ -843,7 +843,7 @@ InitConfigFileParser::parse_mycnf()
} }
Context ctx(m_info); Context ctx(m_info, m_errstream);
const char *groups[]= { "cluster_config", 0 }; const char *groups[]= { "cluster_config", 0 };
if (load_defaults(options, groups)) if (load_defaults(options, groups))
goto end; goto end;
......
...@@ -41,6 +41,7 @@ static const char * g_host = 0; ...@@ -41,6 +41,7 @@ static const char * g_host = 0;
static const char * g_field_delimiter=","; static const char * g_field_delimiter=",";
static const char * g_row_delimiter=" "; static const char * g_row_delimiter=" ";
static const char * g_config_file = 0; static const char * g_config_file = 0;
static int g_mycnf = 0;
int g_print_full_config, opt_ndb_shm; int g_print_full_config, opt_ndb_shm;
my_bool opt_core; my_bool opt_core;
...@@ -94,6 +95,9 @@ static struct my_option my_long_options[] = ...@@ -94,6 +95,9 @@ static struct my_option my_long_options[] =
{ "config-file", 256, "Path to config.ini", { "config-file", 256, "Path to config.ini",
(gptr*) &g_config_file, (gptr*) &g_config_file, (gptr*) &g_config_file, (gptr*) &g_config_file,
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{ "mycnf", 256, "Read config from my.cnf",
(gptr*) &g_mycnf, (gptr*) &g_mycnf,
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
}; };
...@@ -163,11 +167,16 @@ main(int argc, char** argv){ ...@@ -163,11 +167,16 @@ main(int argc, char** argv){
ndb_mgm_configuration * conf = 0; ndb_mgm_configuration * conf = 0;
if (g_config_file) if (g_config_file || g_mycnf)
conf = load_configuration(); conf = load_configuration();
else else
conf = fetch_configuration(); conf = fetch_configuration();
if (conf == 0)
{
return -1;
}
Vector<Apply*> select_list; Vector<Apply*> select_list;
Vector<Match*> where_clause; Vector<Match*> where_clause;
...@@ -437,10 +446,20 @@ ndb_mgm_configuration* ...@@ -437,10 +446,20 @@ ndb_mgm_configuration*
load_configuration() load_configuration()
{ {
InitConfigFileParser parser(stderr); InitConfigFileParser parser(stderr);
if (g_config_file)
{
if (g_verbose)
fprintf(stderr, "Using config.ini : %s", g_config_file);
Config* conf = parser.parseConfig(g_config_file);
if (conf)
return conf->m_configValues;
}
if (g_verbose) if (g_verbose)
fprintf(stderr, "Using config.ini : %s", g_config_file); fprintf(stderr, "Using my.cnf");
Config* conf = parser.parseConfig(g_config_file); Config* conf = parser.parse_mycnf();
if (conf) if (conf)
return conf->m_configValues; return conf->m_configValues;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment