diff --git a/src/server.cpp b/src/server.cpp index 4d2735467..fa03b6efc 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2495,20 +2495,6 @@ void initServerConfig(void) { /* Multithreading */ cserver.cthreads = CONFIG_DEFAULT_THREADS; cserver.fThreadAffinity = CONFIG_DEFAULT_THREAD_AFFINITY; - - g_pserver->db = (redisDb*)zmalloc(sizeof(redisDb)*cserver.dbnum, MALLOC_LOCAL); - - /* Create the Redis databases, and initialize other internal state. */ - for (int j = 0; j < cserver.dbnum; j++) { - g_pserver->db[j].pdict = dictCreate(&dbDictType,NULL); - g_pserver->db[j].expires = dictCreate(&keyptrDictType,NULL); - g_pserver->db[j].blocking_keys = dictCreate(&keylistDictType,NULL); - g_pserver->db[j].ready_keys = dictCreate(&objectKeyPointerValueDictType,NULL); - g_pserver->db[j].watched_keys = dictCreate(&keylistDictType,NULL); - g_pserver->db[j].id = j; - g_pserver->db[j].avg_ttl = 0; - g_pserver->db[j].defrag_later = listCreate(); - } } extern char **environ; @@ -2914,6 +2900,20 @@ void initServer(void) { fastlock_init(&g_pserver->flock); + g_pserver->db = (redisDb*)zmalloc(sizeof(redisDb)*cserver.dbnum, MALLOC_LOCAL); + + /* Create the Redis databases, and initialize other internal state. */ + for (int j = 0; j < cserver.dbnum; j++) { + g_pserver->db[j].pdict = dictCreate(&dbDictType,NULL); + g_pserver->db[j].expires = dictCreate(&keyptrDictType,NULL); + g_pserver->db[j].blocking_keys = dictCreate(&keylistDictType,NULL); + g_pserver->db[j].ready_keys = dictCreate(&objectKeyPointerValueDictType,NULL); + g_pserver->db[j].watched_keys = dictCreate(&keylistDictType,NULL); + g_pserver->db[j].id = j; + g_pserver->db[j].avg_ttl = 0; + g_pserver->db[j].defrag_later = listCreate(); + } + if (g_pserver->syslog_enabled) { openlog(g_pserver->syslog_ident, LOG_PID | LOG_NDELAY | LOG_NOWAIT, g_pserver->syslog_facility); diff --git a/tests/unit/other.tcl b/tests/unit/other.tcl index 965902456..a0bbba0c5 100644 --- a/tests/unit/other.tcl +++ b/tests/unit/other.tcl @@ -1,3 +1,10 @@ +start_server {tags {"other"} overrides {databases 64}} { + test {CONF-DATABASES - ensure the databases config option is respected} { + r select 63 + r set testkey {foo} + } {OK} +} + start_server {tags {"other"}} { if {$::force_failure} { # This is used just for test suite development purposes.