Lines Matching refs:server
77 struct redisServer server; /* Server global state */ variable
349 int log_to_stdout = server.logfile[0] == '\0'; in serverLogRaw()
352 if (level < server.verbosity) return; in serverLogRaw()
354 fp = log_to_stdout ? stdout : fopen(server.logfile,"a"); in serverLogRaw()
367 nolocks_localtime(&tm,tv.tv_sec,server.timezone,server.daylight_active); in serverLogRaw()
370 if (server.sentinel_mode) { in serverLogRaw()
372 } else if (pid != server.pid) { in serverLogRaw()
375 role_char = (server.masterhost ? 'S':'M'); /* Slave or Master. */ in serverLogRaw()
383 if (server.syslog_enabled) syslog(syslogLevelMap[level], "%s", msg); in serverLogRaw()
393 if ((level&0xff) < server.verbosity) return; in serverLog()
410 int log_to_stdout = server.logfile[0] == '\0'; in serverLogFromHandler()
413 if ((level&0xff) < server.verbosity || (log_to_stdout && server.daemonize)) in serverLogFromHandler()
416 open(server.logfile, O_APPEND|O_CREAT|O_WRONLY, 0644); in serverLogFromHandler()
747 if (htNeedsResize(server.db[dbid].dict)) in tryResizeHashTables()
748 dictResize(server.db[dbid].dict); in tryResizeHashTables()
749 if (htNeedsResize(server.db[dbid].expires)) in tryResizeHashTables()
750 dictResize(server.db[dbid].expires); in tryResizeHashTables()
762 if (dictIsRehashing(server.db[dbid].dict)) { in incrementallyRehash()
763 dictRehashMilliseconds(server.db[dbid].dict,1); in incrementallyRehash()
767 if (dictIsRehashing(server.db[dbid].expires)) { in incrementallyRehash()
768 dictRehashMilliseconds(server.db[dbid].expires,1); in incrementallyRehash()
781 if (server.rdb_child_pid == -1 && server.aof_child_pid == -1) in updateDictResizePolicy()
791 long long t = mstime() - server.inst_metric[metric].last_sample_time; in trackInstantaneousMetric()
793 server.inst_metric[metric].last_sample_count; in trackInstantaneousMetric()
798 server.inst_metric[metric].samples[server.inst_metric[metric].idx] = in trackInstantaneousMetric()
800 server.inst_metric[metric].idx++; in trackInstantaneousMetric()
801 server.inst_metric[metric].idx %= STATS_METRIC_SAMPLES; in trackInstantaneousMetric()
802 server.inst_metric[metric].last_sample_time = mstime(); in trackInstantaneousMetric()
803 server.inst_metric[metric].last_sample_count = current_reading; in trackInstantaneousMetric()
812 sum += server.inst_metric[metric].samples[j]; in getInstantaneousMetric()
823 if (server.maxidletime && in clientsCronHandleTimeout()
828 (now - c->lastinteraction > server.maxidletime)) in clientsCronHandleTimeout()
842 } else if (server.cluster_enabled) { in clientsCronHandleTimeout()
858 time_t idletime = server.unixtime - c->lastinteraction; in clientsCronResizeQueryBuffer()
915 int i = server.unixtime % CLIENTS_PEAK_MEM_USAGE_SLOTS; in clientsCronTrackExpansiveClients()
972 int numclients = listLength(server.clients); in clientsCron()
973 int iterations = numclients/server.hz; in clientsCron()
983 while(listLength(server.clients) && iterations--) { in clientsCron()
990 listRotate(server.clients); in clientsCron()
991 head = listFirst(server.clients); in clientsCron()
1008 if (server.active_expire_enabled) { in databasesCron()
1009 if (server.masterhost == NULL) { in databasesCron()
1017 if (server.active_defrag_enabled) in databasesCron()
1023 if (server.rdb_child_pid == -1 && server.aof_child_pid == -1) { in databasesCron()
1033 if (dbs_per_call > server.dbnum) dbs_per_call = server.dbnum; in databasesCron()
1037 tryResizeHashTables(resize_db % server.dbnum); in databasesCron()
1042 if (server.activerehashing) { in databasesCron()
1052 rehash_db %= server.dbnum; in databasesCron()
1065 atomicSet(server.unixtime,unixtime); in updateCachedTime()
1066 server.mstime = mstime(); in updateCachedTime()
1073 localtime_r(&server.unixtime,&tm); in updateCachedTime()
1074 server.daylight_active = tm.tm_isdst; in updateCachedTime()
1104 if (server.watchdog_period) watchdogScheduleSignal(server.watchdog_period); in serverCron()
1109 server.hz = server.config_hz; in serverCron()
1112 if (server.dynamic_hz) { in serverCron()
1113 while (listLength(server.clients) / server.hz > in serverCron()
1116 server.hz *= 2; in serverCron()
1117 if (server.hz > CONFIG_MAX_HZ) { in serverCron()
1118 server.hz = CONFIG_MAX_HZ; in serverCron()
1125 trackInstantaneousMetric(STATS_METRIC_COMMAND,server.stat_numcommands); in serverCron()
1127 server.stat_net_input_bytes); in serverCron()
1129 server.stat_net_output_bytes); in serverCron()
1144 atomicSet(server.lruclock,lruclock); in serverCron()
1147 if (zmalloc_used_memory() > server.stat_peak_memory) in serverCron()
1148 server.stat_peak_memory = zmalloc_used_memory(); in serverCron()
1154 server.cron_malloc_stats.process_rss = zmalloc_get_rss(); in serverCron()
1155 server.cron_malloc_stats.zmalloc_used = zmalloc_used_memory(); in serverCron()
1160 zmalloc_get_allocator_info(&server.cron_malloc_stats.allocator_allocated, in serverCron()
1161 &server.cron_malloc_stats.allocator_active, in serverCron()
1162 &server.cron_malloc_stats.allocator_resident); in serverCron()
1165 if (!server.cron_malloc_stats.allocator_resident) { in serverCron()
1169 size_t lua_memory = lua_gc(server.lua,LUA_GCCOUNT,0)*1024LL; in serverCron()
1170 … server.cron_malloc_stats.allocator_resident = server.cron_malloc_stats.process_rss - lua_memory; in serverCron()
1172 if (!server.cron_malloc_stats.allocator_active) in serverCron()
1173 server.cron_malloc_stats.allocator_active = server.cron_malloc_stats.allocator_resident; in serverCron()
1174 if (!server.cron_malloc_stats.allocator_allocated) in serverCron()
1175 server.cron_malloc_stats.allocator_allocated = server.cron_malloc_stats.zmalloc_used; in serverCron()
1180 if (server.shutdown_asap) { in serverCron()
1183 server.shutdown_asap = 0; in serverCron()
1188 for (j = 0; j < server.dbnum; j++) { in serverCron()
1191 size = dictSlots(server.db[j].dict); in serverCron()
1192 used = dictSize(server.db[j].dict); in serverCron()
1193 vkeys = dictSize(server.db[j].expires); in serverCron()
1202 if (!server.sentinel_mode) { in serverCron()
1206 listLength(server.clients)-listLength(server.slaves), in serverCron()
1207 listLength(server.slaves), in serverCron()
1220 if (server.rdb_child_pid == -1 && server.aof_child_pid == -1 && in serverCron()
1221 server.aof_rewrite_scheduled) in serverCron()
1227 if (server.rdb_child_pid != -1 || server.aof_child_pid != -1 || in serverCron()
1243 (int) server.rdb_child_pid, in serverCron()
1244 (int) server.aof_child_pid); in serverCron()
1245 } else if (pid == server.rdb_child_pid) { in serverCron()
1248 } else if (pid == server.aof_child_pid) { in serverCron()
1264 for (j = 0; j < server.saveparamslen; j++) { in serverCron()
1265 struct saveparam *sp = server.saveparams+j; in serverCron()
1271 if (server.dirty >= sp->changes && in serverCron()
1272 server.unixtime-server.lastsave > sp->seconds && in serverCron()
1273 (server.unixtime-server.lastbgsave_try > in serverCron()
1275 server.lastbgsave_status == C_OK)) in serverCron()
1281 rdbSaveBackground(server.rdb_filename,rsiptr); in serverCron()
1287 if (server.aof_state == AOF_ON && in serverCron()
1288 server.rdb_child_pid == -1 && in serverCron()
1289 server.aof_child_pid == -1 && in serverCron()
1290 server.aof_rewrite_perc && in serverCron()
1291 server.aof_current_size > server.aof_rewrite_min_size) in serverCron()
1293 long long base = server.aof_rewrite_base_size ? in serverCron()
1294 server.aof_rewrite_base_size : 1; in serverCron()
1295 long long growth = (server.aof_current_size*100/base) - 100; in serverCron()
1296 if (growth >= server.aof_rewrite_perc) { in serverCron()
1306 if (server.aof_flush_postponed_start) flushAppendOnlyFile(0); in serverCron()
1313 if (server.aof_last_write_status == C_ERR) in serverCron()
1329 if (server.cluster_enabled) clusterCron(); in serverCron()
1333 if (server.sentinel_mode) sentinelTimer(); in serverCron()
1347 if (server.rdb_child_pid == -1 && server.aof_child_pid == -1 && in serverCron()
1348 server.rdb_bgsave_scheduled && in serverCron()
1349 (server.unixtime-server.lastbgsave_try > CONFIG_BGSAVE_RETRY_DELAY || in serverCron()
1350 server.lastbgsave_status == C_OK)) in serverCron()
1354 if (rdbSaveBackground(server.rdb_filename,rsiptr) == C_OK) in serverCron()
1355 server.rdb_bgsave_scheduled = 0; in serverCron()
1358 server.cronloops++; in serverCron()
1359 return 1000/server.hz; in serverCron()
1372 if (server.cluster_enabled) clusterBeforeSleep(); in beforeSleep()
1376 if (server.active_expire_enabled && server.masterhost == NULL) in beforeSleep()
1381 if (server.get_ack_from_slaves) { in beforeSleep()
1387 replicationFeedSlaves(server.slaves, server.slaveseldb, argv, 3); in beforeSleep()
1391 server.get_ack_from_slaves = 0; in beforeSleep()
1396 if (listLength(server.clients_waiting_acks)) in beforeSleep()
1404 if (listLength(server.unblocked_clients)) in beforeSleep()
1527 pthread_mutex_init(&server.next_client_id_mutex,NULL); in initServerConfig()
1528 pthread_mutex_init(&server.lruclock_mutex,NULL); in initServerConfig()
1529 pthread_mutex_init(&server.unixtime_mutex,NULL); in initServerConfig()
1532 getRandomHexChars(server.runid,CONFIG_RUN_ID_SIZE); in initServerConfig()
1533 server.runid[CONFIG_RUN_ID_SIZE] = '\0'; in initServerConfig()
1536 server.timezone = getTimeZone(); /* Initialized by tzset(). */ in initServerConfig()
1537 server.configfile = NULL; in initServerConfig()
1538 server.executable = NULL; in initServerConfig()
1539 server.hz = server.config_hz = CONFIG_DEFAULT_HZ; in initServerConfig()
1540 server.dynamic_hz = CONFIG_DEFAULT_DYNAMIC_HZ; in initServerConfig()
1541 server.arch_bits = (sizeof(long) == 8) ? 64 : 32; in initServerConfig()
1542 server.port = CONFIG_DEFAULT_SERVER_PORT; in initServerConfig()
1543 server.tcp_backlog = CONFIG_DEFAULT_TCP_BACKLOG; in initServerConfig()
1544 server.bindaddr_count = 0; in initServerConfig()
1545 server.unixsocket = NULL; in initServerConfig()
1546 server.unixsocketperm = CONFIG_DEFAULT_UNIX_SOCKET_PERM; in initServerConfig()
1547 server.ipfd_count = 0; in initServerConfig()
1548 server.sofd = -1; in initServerConfig()
1549 server.protected_mode = CONFIG_DEFAULT_PROTECTED_MODE; in initServerConfig()
1550 server.dbnum = CONFIG_DEFAULT_DBNUM; in initServerConfig()
1551 server.verbosity = CONFIG_DEFAULT_VERBOSITY; in initServerConfig()
1552 server.maxidletime = CONFIG_DEFAULT_CLIENT_TIMEOUT; in initServerConfig()
1553 server.tcpkeepalive = CONFIG_DEFAULT_TCP_KEEPALIVE; in initServerConfig()
1554 server.active_expire_enabled = 1; in initServerConfig()
1555 server.active_defrag_enabled = CONFIG_DEFAULT_ACTIVE_DEFRAG; in initServerConfig()
1556 server.active_defrag_ignore_bytes = CONFIG_DEFAULT_DEFRAG_IGNORE_BYTES; in initServerConfig()
1557 server.active_defrag_threshold_lower = CONFIG_DEFAULT_DEFRAG_THRESHOLD_LOWER; in initServerConfig()
1558 server.active_defrag_threshold_upper = CONFIG_DEFAULT_DEFRAG_THRESHOLD_UPPER; in initServerConfig()
1559 server.active_defrag_cycle_min = CONFIG_DEFAULT_DEFRAG_CYCLE_MIN; in initServerConfig()
1560 server.active_defrag_cycle_max = CONFIG_DEFAULT_DEFRAG_CYCLE_MAX; in initServerConfig()
1561 server.active_defrag_max_scan_fields = CONFIG_DEFAULT_DEFRAG_MAX_SCAN_FIELDS; in initServerConfig()
1562 server.proto_max_bulk_len = CONFIG_DEFAULT_PROTO_MAX_BULK_LEN; in initServerConfig()
1563 server.client_max_querybuf_len = PROTO_MAX_QUERYBUF_LEN; in initServerConfig()
1564 server.saveparams = NULL; in initServerConfig()
1565 server.loading = 0; in initServerConfig()
1566 server.logfile = zstrdup(CONFIG_DEFAULT_LOGFILE); in initServerConfig()
1567 server.syslog_enabled = CONFIG_DEFAULT_SYSLOG_ENABLED; in initServerConfig()
1568 server.syslog_ident = zstrdup(CONFIG_DEFAULT_SYSLOG_IDENT); in initServerConfig()
1569 server.syslog_facility = LOG_LOCAL0; in initServerConfig()
1570 server.daemonize = CONFIG_DEFAULT_DAEMONIZE; in initServerConfig()
1571 server.supervised = 0; in initServerConfig()
1572 server.supervised_mode = SUPERVISED_NONE; in initServerConfig()
1573 server.aof_state = AOF_OFF; in initServerConfig()
1574 server.aof_fsync = CONFIG_DEFAULT_AOF_FSYNC; in initServerConfig()
1575 server.aof_no_fsync_on_rewrite = CONFIG_DEFAULT_AOF_NO_FSYNC_ON_REWRITE; in initServerConfig()
1576 server.aof_rewrite_perc = AOF_REWRITE_PERC; in initServerConfig()
1577 server.aof_rewrite_min_size = AOF_REWRITE_MIN_SIZE; in initServerConfig()
1578 server.aof_rewrite_base_size = 0; in initServerConfig()
1579 server.aof_rewrite_scheduled = 0; in initServerConfig()
1580 server.aof_last_fsync = time(NULL); in initServerConfig()
1581 server.aof_rewrite_time_last = -1; in initServerConfig()
1582 server.aof_rewrite_time_start = -1; in initServerConfig()
1583 server.aof_lastbgrewrite_status = C_OK; in initServerConfig()
1584 server.aof_delayed_fsync = 0; in initServerConfig()
1585 server.aof_fd = -1; in initServerConfig()
1586 server.aof_selected_db = -1; /* Make sure the first time will not match */ in initServerConfig()
1587 server.aof_flush_postponed_start = 0; in initServerConfig()
1588 server.aof_rewrite_incremental_fsync = CONFIG_DEFAULT_AOF_REWRITE_INCREMENTAL_FSYNC; in initServerConfig()
1589 server.rdb_save_incremental_fsync = CONFIG_DEFAULT_RDB_SAVE_INCREMENTAL_FSYNC; in initServerConfig()
1590 server.aof_load_truncated = CONFIG_DEFAULT_AOF_LOAD_TRUNCATED; in initServerConfig()
1591 server.aof_use_rdb_preamble = CONFIG_DEFAULT_AOF_USE_RDB_PREAMBLE; in initServerConfig()
1592 server.pidfile = NULL; in initServerConfig()
1593 server.rdb_filename = zstrdup(CONFIG_DEFAULT_RDB_FILENAME); in initServerConfig()
1594 server.aof_filename = zstrdup(CONFIG_DEFAULT_AOF_FILENAME); in initServerConfig()
1595 server.requirepass = NULL; in initServerConfig()
1596 server.rdb_compression = CONFIG_DEFAULT_RDB_COMPRESSION; in initServerConfig()
1597 server.rdb_checksum = CONFIG_DEFAULT_RDB_CHECKSUM; in initServerConfig()
1598 server.stop_writes_on_bgsave_err = CONFIG_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR; in initServerConfig()
1599 server.activerehashing = CONFIG_DEFAULT_ACTIVE_REHASHING; in initServerConfig()
1600 server.active_defrag_running = 0; in initServerConfig()
1601 server.notify_keyspace_events = 0; in initServerConfig()
1602 server.maxclients = CONFIG_DEFAULT_MAX_CLIENTS; in initServerConfig()
1603 server.blocked_clients = 0; in initServerConfig()
1604 memset(server.blocked_clients_by_type,0, in initServerConfig()
1605 sizeof(server.blocked_clients_by_type)); in initServerConfig()
1606 server.maxmemory = CONFIG_DEFAULT_MAXMEMORY; in initServerConfig()
1607 server.maxmemory_policy = CONFIG_DEFAULT_MAXMEMORY_POLICY; in initServerConfig()
1608 server.maxmemory_samples = CONFIG_DEFAULT_MAXMEMORY_SAMPLES; in initServerConfig()
1609 server.lfu_log_factor = CONFIG_DEFAULT_LFU_LOG_FACTOR; in initServerConfig()
1610 server.lfu_decay_time = CONFIG_DEFAULT_LFU_DECAY_TIME; in initServerConfig()
1611 server.hash_max_ziplist_entries = OBJ_HASH_MAX_ZIPLIST_ENTRIES; in initServerConfig()
1612 server.hash_max_ziplist_value = OBJ_HASH_MAX_ZIPLIST_VALUE; in initServerConfig()
1613 server.list_max_ziplist_size = OBJ_LIST_MAX_ZIPLIST_SIZE; in initServerConfig()
1614 server.list_compress_depth = OBJ_LIST_COMPRESS_DEPTH; in initServerConfig()
1615 server.set_max_intset_entries = OBJ_SET_MAX_INTSET_ENTRIES; in initServerConfig()
1616 server.zset_max_ziplist_entries = OBJ_ZSET_MAX_ZIPLIST_ENTRIES; in initServerConfig()
1617 server.zset_max_ziplist_value = OBJ_ZSET_MAX_ZIPLIST_VALUE; in initServerConfig()
1618 server.hll_sparse_max_bytes = CONFIG_DEFAULT_HLL_SPARSE_MAX_BYTES; in initServerConfig()
1619 server.stream_node_max_bytes = OBJ_STREAM_NODE_MAX_BYTES; in initServerConfig()
1620 server.stream_node_max_entries = OBJ_STREAM_NODE_MAX_ENTRIES; in initServerConfig()
1621 server.shutdown_asap = 0; in initServerConfig()
1622 server.cluster_enabled = 0; in initServerConfig()
1623 server.cluster_node_timeout = CLUSTER_DEFAULT_NODE_TIMEOUT; in initServerConfig()
1624 server.cluster_migration_barrier = CLUSTER_DEFAULT_MIGRATION_BARRIER; in initServerConfig()
1625 server.cluster_slave_validity_factor = CLUSTER_DEFAULT_SLAVE_VALIDITY; in initServerConfig()
1626 server.cluster_require_full_coverage = CLUSTER_DEFAULT_REQUIRE_FULL_COVERAGE; in initServerConfig()
1627 server.cluster_slave_no_failover = CLUSTER_DEFAULT_SLAVE_NO_FAILOVER; in initServerConfig()
1628 server.cluster_configfile = zstrdup(CONFIG_DEFAULT_CLUSTER_CONFIG_FILE); in initServerConfig()
1629 server.cluster_announce_ip = CONFIG_DEFAULT_CLUSTER_ANNOUNCE_IP; in initServerConfig()
1630 server.cluster_announce_port = CONFIG_DEFAULT_CLUSTER_ANNOUNCE_PORT; in initServerConfig()
1631 server.cluster_announce_bus_port = CONFIG_DEFAULT_CLUSTER_ANNOUNCE_BUS_PORT; in initServerConfig()
1632 server.cluster_module_flags = CLUSTER_MODULE_FLAG_NONE; in initServerConfig()
1633 server.migrate_cached_sockets = dictCreate(&migrateCacheDictType,NULL); in initServerConfig()
1634 server.next_client_id = 1; /* Client IDs, start from 1 .*/ in initServerConfig()
1635 server.loading_process_events_interval_bytes = (1024*1024*2); in initServerConfig()
1636 server.lazyfree_lazy_eviction = CONFIG_DEFAULT_LAZYFREE_LAZY_EVICTION; in initServerConfig()
1637 server.lazyfree_lazy_expire = CONFIG_DEFAULT_LAZYFREE_LAZY_EXPIRE; in initServerConfig()
1638 server.lazyfree_lazy_server_del = CONFIG_DEFAULT_LAZYFREE_LAZY_SERVER_DEL; in initServerConfig()
1639 server.always_show_logo = CONFIG_DEFAULT_ALWAYS_SHOW_LOGO; in initServerConfig()
1640 server.lua_time_limit = LUA_SCRIPT_TIME_LIMIT; in initServerConfig()
1643 atomicSet(server.lruclock,lruclock); in initServerConfig()
1651 server.masterauth = NULL; in initServerConfig()
1652 server.masterhost = NULL; in initServerConfig()
1653 server.masterport = 6379; in initServerConfig()
1654 server.master = NULL; in initServerConfig()
1655 server.cached_master = NULL; in initServerConfig()
1656 server.master_initial_offset = -1; in initServerConfig()
1657 server.repl_state = REPL_STATE_NONE; in initServerConfig()
1658 server.repl_syncio_timeout = CONFIG_REPL_SYNCIO_TIMEOUT; in initServerConfig()
1659 server.repl_serve_stale_data = CONFIG_DEFAULT_SLAVE_SERVE_STALE_DATA; in initServerConfig()
1660 server.repl_slave_ro = CONFIG_DEFAULT_SLAVE_READ_ONLY; in initServerConfig()
1661 server.repl_slave_ignore_maxmemory = CONFIG_DEFAULT_SLAVE_IGNORE_MAXMEMORY; in initServerConfig()
1662 server.repl_slave_lazy_flush = CONFIG_DEFAULT_SLAVE_LAZY_FLUSH; in initServerConfig()
1663 server.repl_down_since = 0; /* Never connected, repl is down since EVER. */ in initServerConfig()
1664 server.repl_disable_tcp_nodelay = CONFIG_DEFAULT_REPL_DISABLE_TCP_NODELAY; in initServerConfig()
1665 server.repl_diskless_sync = CONFIG_DEFAULT_REPL_DISKLESS_SYNC; in initServerConfig()
1666 server.repl_diskless_sync_delay = CONFIG_DEFAULT_REPL_DISKLESS_SYNC_DELAY; in initServerConfig()
1667 server.repl_ping_slave_period = CONFIG_DEFAULT_REPL_PING_SLAVE_PERIOD; in initServerConfig()
1668 server.repl_timeout = CONFIG_DEFAULT_REPL_TIMEOUT; in initServerConfig()
1669 server.repl_min_slaves_to_write = CONFIG_DEFAULT_MIN_SLAVES_TO_WRITE; in initServerConfig()
1670 server.repl_min_slaves_max_lag = CONFIG_DEFAULT_MIN_SLAVES_MAX_LAG; in initServerConfig()
1671 server.slave_priority = CONFIG_DEFAULT_SLAVE_PRIORITY; in initServerConfig()
1672 server.slave_announce_ip = CONFIG_DEFAULT_SLAVE_ANNOUNCE_IP; in initServerConfig()
1673 server.slave_announce_port = CONFIG_DEFAULT_SLAVE_ANNOUNCE_PORT; in initServerConfig()
1674 server.master_repl_offset = 0; in initServerConfig()
1677 server.repl_backlog = NULL; in initServerConfig()
1678 server.repl_backlog_size = CONFIG_DEFAULT_REPL_BACKLOG_SIZE; in initServerConfig()
1679 server.repl_backlog_histlen = 0; in initServerConfig()
1680 server.repl_backlog_idx = 0; in initServerConfig()
1681 server.repl_backlog_off = 0; in initServerConfig()
1682 server.repl_backlog_time_limit = CONFIG_DEFAULT_REPL_BACKLOG_TIME_LIMIT; in initServerConfig()
1683 server.repl_no_slaves_since = time(NULL); in initServerConfig()
1687 server.client_obuf_limits[j] = clientBufferLimitsDefaults[j]; in initServerConfig()
1698 server.commands = dictCreate(&commandTableDictType,NULL); in initServerConfig()
1699 server.orig_commands = dictCreate(&commandTableDictType,NULL); in initServerConfig()
1701 server.delCommand = lookupCommandByCString("del"); in initServerConfig()
1702 server.multiCommand = lookupCommandByCString("multi"); in initServerConfig()
1703 server.lpushCommand = lookupCommandByCString("lpush"); in initServerConfig()
1704 server.lpopCommand = lookupCommandByCString("lpop"); in initServerConfig()
1705 server.rpopCommand = lookupCommandByCString("rpop"); in initServerConfig()
1706 server.zpopminCommand = lookupCommandByCString("zpopmin"); in initServerConfig()
1707 server.zpopmaxCommand = lookupCommandByCString("zpopmax"); in initServerConfig()
1708 server.sremCommand = lookupCommandByCString("srem"); in initServerConfig()
1709 server.execCommand = lookupCommandByCString("exec"); in initServerConfig()
1710 server.expireCommand = lookupCommandByCString("expire"); in initServerConfig()
1711 server.pexpireCommand = lookupCommandByCString("pexpire"); in initServerConfig()
1712 server.xclaimCommand = lookupCommandByCString("xclaim"); in initServerConfig()
1713 server.xgroupCommand = lookupCommandByCString("xgroup"); in initServerConfig()
1716 server.slowlog_log_slower_than = CONFIG_DEFAULT_SLOWLOG_LOG_SLOWER_THAN; in initServerConfig()
1717 server.slowlog_max_len = CONFIG_DEFAULT_SLOWLOG_MAX_LEN; in initServerConfig()
1720 server.latency_monitor_threshold = CONFIG_DEFAULT_LATENCY_MONITOR_THRESHOLD; in initServerConfig()
1723 server.assert_failed = "<no assertion failed>"; in initServerConfig()
1724 server.assert_file = "<no file>"; in initServerConfig()
1725 server.assert_line = 0; in initServerConfig()
1726 server.bug_report_start = 0; in initServerConfig()
1727 server.watchdog_period = 0; in initServerConfig()
1733 server.lua_always_replicate_commands = 1; in initServerConfig()
1758 if (access(server.executable,X_OK) == -1) { in restartServer()
1760 "permissions to execute %s", server.executable); in restartServer()
1766 server.configfile && in restartServer()
1767 rewriteConfig(server.configfile) == -1) in restartServer()
1784 for (j = 3; j < (int)server.maxclients + 1024; j++) { in restartServer()
1792 zfree(server.exec_argv[0]); in restartServer()
1793 server.exec_argv[0] = zstrdup(server.executable); in restartServer()
1794 execve(server.executable,server.exec_argv,environ); in restartServer()
1811 rlim_t maxfiles = server.maxclients+CONFIG_MIN_RESERVED_FDS; in adjustOpenFilesLimit()
1817 server.maxclients = 1024-CONFIG_MIN_RESERVED_FDS; in adjustOpenFilesLimit()
1849 unsigned int old_maxclients = server.maxclients; in adjustOpenFilesLimit()
1850 server.maxclients = bestlimit-CONFIG_MIN_RESERVED_FDS; in adjustOpenFilesLimit()
1874 (unsigned long long) bestlimit, server.maxclients); in adjustOpenFilesLimit()
1894 if (somaxconn > 0 && somaxconn < server.tcp_backlog) { in checkTcpBacklogSettings()
1895 … because /proc/sys/net/core/somaxconn is set to the lower value of %d.", server.tcp_backlog, somax… in checkTcpBacklogSettings()
1925 if (server.bindaddr_count == 0) server.bindaddr[0] = NULL; in listenToPort()
1926 for (j = 0; j < server.bindaddr_count || j == 0; j++) { in listenToPort()
1927 if (server.bindaddr[j] == NULL) { in listenToPort()
1931 fds[*count] = anetTcp6Server(server.neterr,port,NULL, in listenToPort()
1932 server.tcp_backlog); in listenToPort()
1943 fds[*count] = anetTcpServer(server.neterr,port,NULL, in listenToPort()
1944 server.tcp_backlog); in listenToPort()
1957 } else if (strchr(server.bindaddr[j],':')) { in listenToPort()
1959 fds[*count] = anetTcp6Server(server.neterr,port,server.bindaddr[j], in listenToPort()
1960 server.tcp_backlog); in listenToPort()
1963 fds[*count] = anetTcpServer(server.neterr,port,server.bindaddr[j], in listenToPort()
1964 server.tcp_backlog); in listenToPort()
1969 server.bindaddr[j] ? server.bindaddr[j] : "*", in listenToPort()
1970 port, server.neterr); in listenToPort()
1989 server.stat_numcommands = 0; in resetServerStats()
1990 server.stat_numconnections = 0; in resetServerStats()
1991 server.stat_expiredkeys = 0; in resetServerStats()
1992 server.stat_expired_stale_perc = 0; in resetServerStats()
1993 server.stat_expired_time_cap_reached_count = 0; in resetServerStats()
1994 server.stat_evictedkeys = 0; in resetServerStats()
1995 server.stat_keyspace_misses = 0; in resetServerStats()
1996 server.stat_keyspace_hits = 0; in resetServerStats()
1997 server.stat_active_defrag_hits = 0; in resetServerStats()
1998 server.stat_active_defrag_misses = 0; in resetServerStats()
1999 server.stat_active_defrag_key_hits = 0; in resetServerStats()
2000 server.stat_active_defrag_key_misses = 0; in resetServerStats()
2001 server.stat_active_defrag_scanned = 0; in resetServerStats()
2002 server.stat_fork_time = 0; in resetServerStats()
2003 server.stat_fork_rate = 0; in resetServerStats()
2004 server.stat_rejected_conn = 0; in resetServerStats()
2005 server.stat_sync_full = 0; in resetServerStats()
2006 server.stat_sync_partial_ok = 0; in resetServerStats()
2007 server.stat_sync_partial_err = 0; in resetServerStats()
2009 server.inst_metric[j].idx = 0; in resetServerStats()
2010 server.inst_metric[j].last_sample_time = mstime(); in resetServerStats()
2011 server.inst_metric[j].last_sample_count = 0; in resetServerStats()
2012 memset(server.inst_metric[j].samples,0, in resetServerStats()
2013 sizeof(server.inst_metric[j].samples)); in resetServerStats()
2015 server.stat_net_input_bytes = 0; in resetServerStats()
2016 server.stat_net_output_bytes = 0; in resetServerStats()
2017 server.aof_delayed_fsync = 0; in resetServerStats()
2027 if (server.syslog_enabled) { in initServer()
2028 openlog(server.syslog_ident, LOG_PID | LOG_NDELAY | LOG_NOWAIT, in initServer()
2029 server.syslog_facility); in initServer()
2032 server.hz = server.config_hz; in initServer()
2033 server.pid = getpid(); in initServer()
2034 server.current_client = NULL; in initServer()
2035 server.clients = listCreate(); in initServer()
2036 server.clients_index = raxNew(); in initServer()
2037 server.clients_to_close = listCreate(); in initServer()
2038 server.slaves = listCreate(); in initServer()
2039 server.monitors = listCreate(); in initServer()
2040 server.clients_pending_write = listCreate(); in initServer()
2041 server.slaveseldb = -1; /* Force to emit the first SELECT command. */ in initServer()
2042 server.unblocked_clients = listCreate(); in initServer()
2043 server.ready_keys = listCreate(); in initServer()
2044 server.clients_waiting_acks = listCreate(); in initServer()
2045 server.get_ack_from_slaves = 0; in initServer()
2046 server.clients_paused = 0; in initServer()
2047 server.system_memory_size = zmalloc_get_memory_size(); in initServer()
2051 server.el = aeCreateEventLoop(server.maxclients+CONFIG_FDSET_INCR); in initServer()
2052 if (server.el == NULL) { in initServer()
2058 server.db = zmalloc(sizeof(redisDb)*server.dbnum); in initServer()
2061 if (server.port != 0 && in initServer()
2062 listenToPort(server.port,server.ipfd,&server.ipfd_count) == C_ERR) in initServer()
2066 if (server.unixsocket != NULL) { in initServer()
2067 unlink(server.unixsocket); /* don't care if this fails */ in initServer()
2068 server.sofd = anetUnixServer(server.neterr,server.unixsocket, in initServer()
2069 server.unixsocketperm, server.tcp_backlog); in initServer()
2070 if (server.sofd == ANET_ERR) { in initServer()
2071 serverLog(LL_WARNING, "Opening Unix socket: %s", server.neterr); in initServer()
2074 anetNonBlock(NULL,server.sofd); in initServer()
2078 if (server.ipfd_count == 0 && server.sofd < 0) { in initServer()
2084 for (j = 0; j < server.dbnum; j++) { in initServer()
2085 server.db[j].dict = dictCreate(&dbDictType,NULL); in initServer()
2086 server.db[j].expires = dictCreate(&keyptrDictType,NULL); in initServer()
2087 server.db[j].blocking_keys = dictCreate(&keylistDictType,NULL); in initServer()
2088 server.db[j].ready_keys = dictCreate(&objectKeyPointerValueDictType,NULL); in initServer()
2089 server.db[j].watched_keys = dictCreate(&keylistDictType,NULL); in initServer()
2090 server.db[j].id = j; in initServer()
2091 server.db[j].avg_ttl = 0; in initServer()
2092 server.db[j].defrag_later = listCreate(); in initServer()
2095 server.pubsub_channels = dictCreate(&keylistDictType,NULL); in initServer()
2096 server.pubsub_patterns = listCreate(); in initServer()
2097 listSetFreeMethod(server.pubsub_patterns,freePubsubPattern); in initServer()
2098 listSetMatchMethod(server.pubsub_patterns,listMatchPubsubPattern); in initServer()
2099 server.cronloops = 0; in initServer()
2100 server.rdb_child_pid = -1; in initServer()
2101 server.aof_child_pid = -1; in initServer()
2102 server.rdb_child_type = RDB_CHILD_TYPE_NONE; in initServer()
2103 server.rdb_bgsave_scheduled = 0; in initServer()
2104 server.child_info_pipe[0] = -1; in initServer()
2105 server.child_info_pipe[1] = -1; in initServer()
2106 server.child_info_data.magic = 0; in initServer()
2108 server.aof_buf = sdsempty(); in initServer()
2109 server.lastsave = time(NULL); /* At startup we consider the DB saved. */ in initServer()
2110 server.lastbgsave_try = 0; /* At startup we never tried to BGSAVE. */ in initServer()
2111 server.rdb_save_time_last = -1; in initServer()
2112 server.rdb_save_time_start = -1; in initServer()
2113 server.dirty = 0; in initServer()
2116 server.stat_starttime = time(NULL); in initServer()
2117 server.stat_peak_memory = 0; in initServer()
2118 server.stat_rdb_cow_bytes = 0; in initServer()
2119 server.stat_aof_cow_bytes = 0; in initServer()
2120 server.cron_malloc_stats.zmalloc_used = 0; in initServer()
2121 server.cron_malloc_stats.process_rss = 0; in initServer()
2122 server.cron_malloc_stats.allocator_allocated = 0; in initServer()
2123 server.cron_malloc_stats.allocator_active = 0; in initServer()
2124 server.cron_malloc_stats.allocator_resident = 0; in initServer()
2125 server.lastbgsave_status = C_OK; in initServer()
2126 server.aof_last_write_status = C_OK; in initServer()
2127 server.aof_last_write_errno = 0; in initServer()
2128 server.repl_good_slaves_count = 0; in initServer()
2133 if (aeCreateTimeEvent(server.el, 1, serverCron, NULL, NULL) == AE_ERR) { in initServer()
2140 for (j = 0; j < server.ipfd_count; j++) { in initServer()
2141 if (aeCreateFileEvent(server.el, server.ipfd[j], AE_READABLE, in initServer()
2148 if (server.sofd > 0 && aeCreateFileEvent(server.el,server.sofd,AE_READABLE, in initServer()
2154 if (aeCreateFileEvent(server.el, server.module_blocked_pipe[0], AE_READABLE, in initServer()
2163 if (server.aof_state == AOF_ON) { in initServer()
2164 server.aof_fd = open(server.aof_filename, in initServer()
2166 if (server.aof_fd == -1) { in initServer()
2177 if (server.arch_bits == 32 && server.maxmemory == 0) { in initServer()
2179 server.maxmemory = 3072LL*(1024*1024); /* 3 GB */ in initServer()
2180 server.maxmemory_policy = MAXMEMORY_NO_EVICTION; in initServer()
2183 if (server.cluster_enabled) clusterInit(); in initServer()
2189 server.initial_memory_usage = zmalloc_used_memory(); in initServer()
2223 retval1 = dictAdd(server.commands, sdsnew(c->name), c); in populateCommandTable()
2226 retval2 = dictAdd(server.orig_commands, sdsnew(c->name), c); in populateCommandTable()
2236 di = dictGetSafeIterator(server.commands); in resetCommandTableStats()
2286 return dictFetchValue(server.commands, name); in lookupCommand()
2293 cmd = dictFetchValue(server.commands, name); in lookupCommandByCString()
2306 struct redisCommand *cmd = dictFetchValue(server.commands, name); in lookupCommandOrOriginal()
2308 if (!cmd) cmd = dictFetchValue(server.orig_commands,name); in lookupCommandOrOriginal()
2326 if (server.aof_state != AOF_OFF && flags & PROPAGATE_AOF) in propagate()
2329 replicationFeedSlaves(server.slaves,dbid,argv,argc); in propagate()
2350 if (server.loading) return; /* No propagation during loading. */ in alsoPropagate()
2357 redisOpArrayAppend(&server.also_propagate,cmd,dbid,argvcopy,argc,target); in alsoPropagate()
2429 if (listLength(server.monitors) && in call()
2430 !server.loading && in call()
2433 replicationFeedMonitors(c,server.monitors,c->db->id,c->argv,c->argc); in call()
2439 redisOpArray prev_also_propagate = server.also_propagate; in call()
2440 redisOpArrayInit(&server.also_propagate); in call()
2443 dirty = server.dirty; in call()
2447 dirty = server.dirty-dirty; in call()
2452 if (server.loading && c->flags & CLIENT_LUA) in call()
2458 if (c->flags & CLIENT_LUA && server.lua_caller) { in call()
2460 server.lua_caller->flags |= CLIENT_FORCE_REPL; in call()
2462 server.lua_caller->flags |= CLIENT_FORCE_AOF; in call()
2522 if (server.also_propagate.numops) { in call()
2527 for (j = 0; j < server.also_propagate.numops; j++) { in call()
2528 rop = &server.also_propagate.ops[j]; in call()
2537 redisOpArrayFree(&server.also_propagate); in call()
2539 server.also_propagate = prev_also_propagate; in call()
2540 server.stat_numcommands++; in call()
2586 if (server.requirepass && !c->authenticated && c->cmd->proc != authCommand) in processCommand()
2597 if (server.cluster_enabled && in processCommand()
2600 server.lua_caller->flags & CLIENT_MASTER) && in processCommand()
2608 if (n == NULL || n != server.cluster->myself) { in processCommand()
2625 if (server.maxmemory && !server.lua_timedout) { in processCommand()
2629 if (server.current_client == NULL) return C_ERR; in processCommand()
2647 server.masterhost == NULL && in processCommand()
2658 strerror(server.aof_last_write_errno))); in processCommand()
2664 if (server.masterhost == NULL && in processCommand()
2665 server.repl_min_slaves_to_write && in processCommand()
2666 server.repl_min_slaves_max_lag && in processCommand()
2668 server.repl_good_slaves_count < server.repl_min_slaves_to_write) in processCommand()
2677 if (server.masterhost && server.repl_slave_ro && in processCommand()
2699 if (server.masterhost && server.repl_state != REPL_STATE_CONNECTED && in processCommand()
2700 server.repl_serve_stale_data == 0 && in processCommand()
2710 if (server.loading && !(c->cmd->flags & CMD_LOADING)) { in processCommand()
2716 if (server.lua_timedout && in processCommand()
2740 c->woff = server.master_repl_offset; in processCommand()
2741 if (listLength(server.ready_keys)) in processCommand()
2754 for (j = 0; j < server.ipfd_count; j++) close(server.ipfd[j]); in closeListeningSockets()
2755 if (server.sofd != -1) close(server.sofd); in closeListeningSockets()
2756 if (server.cluster_enabled) in closeListeningSockets()
2757 for (j = 0; j < server.cfd_count; j++) close(server.cfd[j]); in closeListeningSockets()
2758 if (unlink_unix_socket && server.unixsocket) { in closeListeningSockets()
2760 unlink(server.unixsocket); /* don't care if this fails */ in closeListeningSockets()
2806 if (server.rdb_child_pid != -1) { in prepareForShutdown()
2808 kill(server.rdb_child_pid,SIGUSR1); in prepareForShutdown()
2809 rdbRemoveTempFile(server.rdb_child_pid); in prepareForShutdown()
2812 if (server.aof_state != AOF_OFF) { in prepareForShutdown()
2815 if (server.aof_child_pid != -1) { in prepareForShutdown()
2818 if (server.aof_state == AOF_WAIT_REWRITE) { in prepareForShutdown()
2824 kill(server.aof_child_pid,SIGUSR1); in prepareForShutdown()
2829 redis_fsync(server.aof_fd); in prepareForShutdown()
2833 if ((server.saveparamslen > 0 && !nosave) || save) { in prepareForShutdown()
2838 if (rdbSave(server.rdb_filename,rsiptr) != C_OK) { in prepareForShutdown()
2850 if (server.daemonize || server.pidfile) { in prepareForShutdown()
2852 unlink(server.pidfile); in prepareForShutdown()
2862 server.sentinel_mode ? "Sentinel" : "Redis"); in prepareForShutdown()
2880 if (server.stop_writes_on_bgsave_err && in writeCommandsDeniedByDiskError()
2881 server.saveparamslen > 0 && in writeCommandsDeniedByDiskError()
2882 server.lastbgsave_status == C_ERR) in writeCommandsDeniedByDiskError()
2885 } else if (server.aof_state != AOF_OFF && in writeCommandsDeniedByDiskError()
2886 server.aof_last_write_status == C_ERR) in writeCommandsDeniedByDiskError()
2937 if (!server.requirepass) { in authCommand()
2939 } else if (!time_independent_strcmp(c->argv[1]->ptr, server.requirepass)) { in authCommand()
3051 addReplyMultiBulkLen(c, dictSize(server.commands)); in commandCommand()
3052 di = dictGetIterator(server.commands); in commandCommand()
3061 addReplyCommand(c, dictFetchValue(server.commands, c->argv[i]->ptr)); in commandCommand()
3064 addReplyLongLong(c, dictSize(server.commands)); in commandCommand()
3129 time_t uptime = server.unixtime-server.stat_starttime; in genRedisInfoString()
3148 if (server.cluster_enabled) mode = "cluster"; in genRedisInfoString()
3149 else if (server.sentinel_mode) mode = "sentinel"; in genRedisInfoString()
3161 atomicGet(server.lruclock,lruclock); in genRedisInfoString()
3190 server.arch_bits, in genRedisInfoString()
3199 server.runid, in genRedisInfoString()
3200 server.port, in genRedisInfoString()
3203 server.hz, in genRedisInfoString()
3204 server.config_hz, in genRedisInfoString()
3206 server.executable ? server.executable : "", in genRedisInfoString()
3207 server.configfile ? server.configfile : ""); in genRedisInfoString()
3221 listLength(server.clients)-listLength(server.slaves), in genRedisInfoString()
3223 server.blocked_clients); in genRedisInfoString()
3236 size_t total_system_mem = server.system_memory_size; in genRedisInfoString()
3238 long long memory_lua = (long long)lua_gc(server.lua,LUA_GCCOUNT,0)*1024; in genRedisInfoString()
3245 if (zmalloc_used > server.stat_peak_memory) in genRedisInfoString()
3246 server.stat_peak_memory = zmalloc_used; in genRedisInfoString()
3249 bytesToHuman(peak_hmem,server.stat_peak_memory); in genRedisInfoString()
3253 bytesToHuman(used_memory_rss_hmem,server.cron_malloc_stats.process_rss); in genRedisInfoString()
3254 bytesToHuman(maxmemory_hmem,server.maxmemory); in genRedisInfoString()
3301 server.cron_malloc_stats.process_rss, in genRedisInfoString()
3303 server.stat_peak_memory, in genRedisInfoString()
3310 server.cron_malloc_stats.allocator_allocated, in genRedisInfoString()
3311 server.cron_malloc_stats.allocator_active, in genRedisInfoString()
3312 server.cron_malloc_stats.allocator_resident, in genRedisInfoString()
3319 dictSize(server.lua_scripts), in genRedisInfoString()
3320 server.maxmemory, in genRedisInfoString()
3337 server.active_defrag_running, in genRedisInfoString()
3364 server.loading, in genRedisInfoString()
3365 server.dirty, in genRedisInfoString()
3366 server.rdb_child_pid != -1, in genRedisInfoString()
3367 (intmax_t)server.lastsave, in genRedisInfoString()
3368 (server.lastbgsave_status == C_OK) ? "ok" : "err", in genRedisInfoString()
3369 (intmax_t)server.rdb_save_time_last, in genRedisInfoString()
3370 (intmax_t)((server.rdb_child_pid == -1) ? in genRedisInfoString()
3371 -1 : time(NULL)-server.rdb_save_time_start), in genRedisInfoString()
3372 server.stat_rdb_cow_bytes, in genRedisInfoString()
3373 server.aof_state != AOF_OFF, in genRedisInfoString()
3374 server.aof_child_pid != -1, in genRedisInfoString()
3375 server.aof_rewrite_scheduled, in genRedisInfoString()
3376 (intmax_t)server.aof_rewrite_time_last, in genRedisInfoString()
3377 (intmax_t)((server.aof_child_pid == -1) ? in genRedisInfoString()
3378 -1 : time(NULL)-server.aof_rewrite_time_start), in genRedisInfoString()
3379 (server.aof_lastbgrewrite_status == C_OK) ? "ok" : "err", in genRedisInfoString()
3380 (server.aof_last_write_status == C_OK) ? "ok" : "err", in genRedisInfoString()
3381 server.stat_aof_cow_bytes); in genRedisInfoString()
3383 if (server.aof_state != AOF_OFF) { in genRedisInfoString()
3392 (long long) server.aof_current_size, in genRedisInfoString()
3393 (long long) server.aof_rewrite_base_size, in genRedisInfoString()
3394 server.aof_rewrite_scheduled, in genRedisInfoString()
3395 sdslen(server.aof_buf), in genRedisInfoString()
3398 server.aof_delayed_fsync); in genRedisInfoString()
3401 if (server.loading) { in genRedisInfoString()
3404 off_t remaining_bytes = server.loading_total_bytes- in genRedisInfoString()
3405 server.loading_loaded_bytes; in genRedisInfoString()
3407 perc = ((double)server.loading_loaded_bytes / in genRedisInfoString()
3408 (server.loading_total_bytes+1)) * 100; in genRedisInfoString()
3410 elapsed = time(NULL)-server.loading_start_time; in genRedisInfoString()
3415 eta = (elapsed*remaining_bytes)/(server.loading_loaded_bytes+1); in genRedisInfoString()
3424 (intmax_t) server.loading_start_time, in genRedisInfoString()
3425 (unsigned long long) server.loading_total_bytes, in genRedisInfoString()
3426 (unsigned long long) server.loading_loaded_bytes, in genRedisInfoString()
3464 server.stat_numconnections, in genRedisInfoString()
3465 server.stat_numcommands, in genRedisInfoString()
3467 server.stat_net_input_bytes, in genRedisInfoString()
3468 server.stat_net_output_bytes, in genRedisInfoString()
3471 server.stat_rejected_conn, in genRedisInfoString()
3472 server.stat_sync_full, in genRedisInfoString()
3473 server.stat_sync_partial_ok, in genRedisInfoString()
3474 server.stat_sync_partial_err, in genRedisInfoString()
3475 server.stat_expiredkeys, in genRedisInfoString()
3476 server.stat_expired_stale_perc*100, in genRedisInfoString()
3477 server.stat_expired_time_cap_reached_count, in genRedisInfoString()
3478 server.stat_evictedkeys, in genRedisInfoString()
3479 server.stat_keyspace_hits, in genRedisInfoString()
3480 server.stat_keyspace_misses, in genRedisInfoString()
3481 dictSize(server.pubsub_channels), in genRedisInfoString()
3482 listLength(server.pubsub_patterns), in genRedisInfoString()
3483 server.stat_fork_time, in genRedisInfoString()
3484 dictSize(server.migrate_cached_sockets), in genRedisInfoString()
3486 server.stat_active_defrag_hits, in genRedisInfoString()
3487 server.stat_active_defrag_misses, in genRedisInfoString()
3488 server.stat_active_defrag_key_hits, in genRedisInfoString()
3489 server.stat_active_defrag_key_misses); in genRedisInfoString()
3498 server.masterhost == NULL ? "master" : "slave"); in genRedisInfoString()
3499 if (server.masterhost) { in genRedisInfoString()
3502 if (server.master) in genRedisInfoString()
3503 slave_repl_offset = server.master->reploff; in genRedisInfoString()
3504 else if (server.cached_master) in genRedisInfoString()
3505 slave_repl_offset = server.cached_master->reploff; in genRedisInfoString()
3514 ,server.masterhost, in genRedisInfoString()
3515 server.masterport, in genRedisInfoString()
3516 (server.repl_state == REPL_STATE_CONNECTED) ? in genRedisInfoString()
3518 server.master ? in genRedisInfoString()
3519 ((int)(server.unixtime-server.master->lastinteraction)) : -1, in genRedisInfoString()
3520 server.repl_state == REPL_STATE_TRANSFER, in genRedisInfoString()
3524 if (server.repl_state == REPL_STATE_TRANSFER) { in genRedisInfoString()
3529 (server.repl_transfer_size - server.repl_transfer_read), in genRedisInfoString()
3530 (int)(server.unixtime-server.repl_transfer_lastio) in genRedisInfoString()
3534 if (server.repl_state != REPL_STATE_CONNECTED) { in genRedisInfoString()
3537 (intmax_t)server.unixtime-server.repl_down_since); in genRedisInfoString()
3542 server.slave_priority, in genRedisInfoString()
3543 server.repl_slave_ro); in genRedisInfoString()
3548 listLength(server.slaves)); in genRedisInfoString()
3552 if (server.repl_min_slaves_to_write && in genRedisInfoString()
3553 server.repl_min_slaves_max_lag) { in genRedisInfoString()
3556 server.repl_good_slaves_count); in genRedisInfoString()
3559 if (listLength(server.slaves)) { in genRedisInfoString()
3564 listRewind(server.slaves,&li); in genRedisInfoString()
3610 server.replid, in genRedisInfoString()
3611 server.replid2, in genRedisInfoString()
3612 server.master_repl_offset, in genRedisInfoString()
3613 server.second_replid_offset, in genRedisInfoString()
3614 server.repl_backlog != NULL, in genRedisInfoString()
3615 server.repl_backlog_size, in genRedisInfoString()
3616 server.repl_backlog_off, in genRedisInfoString()
3617 server.repl_backlog_histlen); in genRedisInfoString()
3643 di = dictGetSafeIterator(server.commands); in genRedisInfoString()
3661 server.cluster_enabled); in genRedisInfoString()
3668 for (j = 0; j < server.dbnum; j++) { in genRedisInfoString()
3671 keys = dictSize(server.db[j].dict); in genRedisInfoString()
3672 vkeys = dictSize(server.db[j].expires); in genRedisInfoString()
3676 j, keys, vkeys, server.db[j].avg_ttl); in genRedisInfoString()
3698 listAddNodeTail(server.monitors,c); in monitorCommand()
3732 if (!server.pidfile) server.pidfile = zstrdup(CONFIG_DEFAULT_PID_FILE); in createPidFile()
3735 FILE *fp = fopen(server.pidfile,"w"); in createPidFile()
3792 if (server.cluster_enabled) mode = "cluster"; in redisAsciiArt()
3793 else if (server.sentinel_mode) mode = "sentinel"; in redisAsciiArt()
3799 int show_logo = ((!server.syslog_enabled && in redisAsciiArt()
3800 server.logfile[0] == '\0' && in redisAsciiArt()
3802 server.always_show_logo); in redisAsciiArt()
3807 mode, server.port in redisAsciiArt()
3815 mode, server.port, in redisAsciiArt()
3841 if (server.shutdown_asap && sig == SIGINT) { in sigShutdownHandler()
3845 } else if (server.loading) { in sigShutdownHandler()
3851 server.shutdown_asap = 1; in sigShutdownHandler()
3893 if (server.aof_state == AOF_ON) { in loadDataFromDisk()
3894 if (loadAppendOnlyFile(server.aof_filename) == C_OK) in loadDataFromDisk()
3898 if (rdbLoad(server.rdb_filename,&rsi) == C_OK) { in loadDataFromDisk()
3903 … if ((server.masterhost || (server.cluster_enabled && nodeIsSlave(server.cluster->myself)))&& in loadDataFromDisk()
3911 memcpy(server.replid,rsi.repl_id,sizeof(server.replid)); in loadDataFromDisk()
3912 server.master_repl_offset = rsi.repl_offset; in loadDataFromDisk()
3917 selectDb(server.cached_master,rsi.repl_stream_db); in loadDataFromDisk()
3935 if (server.cluster_enabled) server_mode = " [cluster]"; in redisSetProcTitle()
3936 else if (server.sentinel_mode) server_mode = " [sentinel]"; in redisSetProcTitle()
3940 server.bindaddr_count ? server.bindaddr[0] : "*", in redisSetProcTitle()
3941 server.port, in redisSetProcTitle()
4111 server.sentinel_mode = checkForSentinelMode(argc,argv); in main()
4117 server.executable = getAbsolutePath(argv[0]); in main()
4118 server.exec_argv = zmalloc(sizeof(char*)*(argc+1)); in main()
4119 server.exec_argv[argc] = NULL; in main()
4120 for (j = 0; j < argc; j++) server.exec_argv[j] = zstrdup(argv[j]); in main()
4125 if (server.sentinel_mode) { in main()
4162 server.configfile = getAbsolutePath(configfile); in main()
4165 zfree(server.exec_argv[j]); in main()
4166 server.exec_argv[j] = zstrdup(server.configfile); in main()
4192 if (server.sentinel_mode && configfile && *configfile == '-') { in main()
4214 …ig. In order to specify a config file use %s /path/to/%s.conf", argv[0], server.sentinel_mode ? "s… in main()
4219 server.supervised = redisIsSupervised(server.supervised_mode); in main()
4220 int background = server.daemonize && !server.supervised; in main()
4224 if (background || server.pidfile) createPidFile(); in main()
4229 if (!server.sentinel_mode) { in main()
4237 if (server.cluster_enabled) { in main()
4245 if (server.ipfd_count > 0) in main()
4247 if (server.sofd > 0) in main()
4248 … serverLog(LL_NOTICE,"The server is now ready to accept connections at %s", server.unixsocket); in main()
4254 if (server.maxmemory > 0 && server.maxmemory < 1024*1024) { in main()
4255 … 1MB (current value is %llu bytes). Are you sure this is what you really want?", server.maxmemory); in main()
4258 aeSetBeforeSleepProc(server.el,beforeSleep); in main()
4259 aeSetAfterSleepProc(server.el,afterSleep); in main()
4260 ff_run(loop, server.el); in main()
4261 aeDeleteEventLoop(server.el); in main()