From 3b85c1e56b1ff2f00196520cbb5e51f43549d3d7 Mon Sep 17 00:00:00 2001 From: Madelyn Olson <34459052+madolson@users.noreply.github.com> Date: Fri, 5 Apr 2024 21:15:57 -0700 Subject: [PATCH] Update Server version to valkey version (#232) This commit updates the following fields: 1. server_version -> valkey_version in server info. Since we would like to advertise specific compatibility, we are making the version specific to valkey. servername will remain as an optional indicator, and other valkey compatible stores might choose to advertise something else. 1. We dropped redis-ver from the API. This isn't related to API compatibility, but we didn't want to "fake" that valkey was creating an rdb from a Redis version. 1. Renamed server-ver -> valkey_version in rdb info. Same as point one, we want to explicitly indicate this was created by a valkey server. --------- Signed-off-by: Madelyn Olson --- src/config.c | 2 +- src/debug.c | 2 +- src/lolwut.c | 4 ++-- src/lolwut5.c | 2 +- src/lolwut6.c | 2 +- src/mkreleasehdr.sh | 2 +- src/module.c | 2 +- src/networking.c | 2 +- src/rdb.c | 8 +++----- src/script_lua.c | 8 ++++---- src/sentinel.c | 2 +- src/server.c | 10 +++++----- src/version.h | 4 ++-- tests/modules/misc.c | 4 ++-- tests/unit/moduleapi/misc.tcl | 2 +- 15 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/config.c b/src/config.c index 5cb5b6a64..dcd23fb88 100644 --- a/src/config.c +++ b/src/config.c @@ -634,7 +634,7 @@ void loadServerConfigFromString(char *config) { loaderr: if (argv) sdsfreesplitres(argv,argc); - fprintf(stderr, "\n*** FATAL CONFIG FILE ERROR (Version %s) ***\n", SERVER_VERSION); + fprintf(stderr, "\n*** FATAL CONFIG FILE ERROR (Version %s) ***\n", VALKEY_VERSION); if (i < totlines) { fprintf(stderr, "Reading the configuration file, at line %d\n", linenum); fprintf(stderr, ">>> '%s'\n", lines[i]); diff --git a/src/debug.c b/src/debug.c index 29ec87a40..9ca50ad7d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2122,7 +2122,7 @@ void sigsegvHandler(int sig, siginfo_t *info, void *secret) { bugReportStart(); serverLog(LL_WARNING, - SERVER_NAME " %s crashed by signal: %d, si_code: %d", SERVER_VERSION, sig, info->si_code); + SERVER_NAME " %s crashed by signal: %d, si_code: %d", VALKEY_VERSION, sig, info->si_code); if (sig == SIGSEGV || sig == SIGBUS) { serverLog(LL_WARNING, "Accessing address: %p", (void*)info->si_addr); diff --git a/src/lolwut.c b/src/lolwut.c index 08c1f5899..eca98cf18 100644 --- a/src/lolwut.c +++ b/src/lolwut.c @@ -44,7 +44,7 @@ void lolwut6Command(client *c); * This is what unstable versions of Redis will display. */ void lolwutUnstableCommand(client *c) { sds rendered = sdsnew("Redis ver. "); - rendered = sdscat(rendered,SERVER_VERSION); + rendered = sdscat(rendered,VALKEY_VERSION); rendered = sdscatlen(rendered,"\n",1); addReplyVerbatim(c,rendered,sdslen(rendered),"txt"); sdsfree(rendered); @@ -52,7 +52,7 @@ void lolwutUnstableCommand(client *c) { /* LOLWUT [VERSION ] [... version specific arguments ...] */ void lolwutCommand(client *c) { - char *v = SERVER_VERSION; + char *v = VALKEY_VERSION; char verstr[64]; if (c->argc >= 3 && !strcasecmp(c->argv[1]->ptr,"version")) { diff --git a/src/lolwut5.c b/src/lolwut5.c index dcc7e7ad9..d293e77d9 100644 --- a/src/lolwut5.c +++ b/src/lolwut5.c @@ -169,7 +169,7 @@ void lolwut5Command(client *c) { sds rendered = renderCanvas(canvas); rendered = sdscat(rendered, "\nGeorg Nees - schotter, plotter on paper, 1968. Redis ver. "); - rendered = sdscat(rendered,SERVER_VERSION); + rendered = sdscat(rendered,VALKEY_VERSION); rendered = sdscatlen(rendered,"\n",1); addReplyVerbatim(c,rendered,sdslen(rendered),"txt"); sdsfree(rendered); diff --git a/src/lolwut6.c b/src/lolwut6.c index 38733505a..440dba966 100644 --- a/src/lolwut6.c +++ b/src/lolwut6.c @@ -193,7 +193,7 @@ void lolwut6Command(client *c) { rendered = sdscat(rendered, "\nDedicated to the 8 bit game developers of past and present.\n" "Original 8 bit image from Plaguemon by hikikomori. Redis ver. "); - rendered = sdscat(rendered,SERVER_VERSION); + rendered = sdscat(rendered,VALKEY_VERSION); rendered = sdscatlen(rendered,"\n",1); addReplyVerbatim(c,rendered,sdslen(rendered),"txt"); sdsfree(rendered); diff --git a/src/mkreleasehdr.sh b/src/mkreleasehdr.sh index 26f7d505d..287fae09b 100755 --- a/src/mkreleasehdr.sh +++ b/src/mkreleasehdr.sh @@ -12,5 +12,5 @@ echo "#define REDIS_GIT_SHA1 \"$GIT_SHA1\"" > release.h echo "#define REDIS_GIT_DIRTY \"$GIT_DIRTY\"" >> release.h echo "#define REDIS_BUILD_ID \"$BUILD_ID\"" >> release.h echo "#include \"version.h\"" >> release.h -echo "#define REDIS_BUILD_ID_RAW SERVER_NAME SERVER_VERSION REDIS_BUILD_ID REDIS_GIT_DIRTY REDIS_GIT_SHA1" >> release.h +echo "#define REDIS_BUILD_ID_RAW SERVER_NAME VALKEY_VERSION REDIS_BUILD_ID REDIS_GIT_DIRTY REDIS_GIT_SHA1" >> release.h touch release.c # Force recompile of release.c diff --git a/src/module.c b/src/module.c index 705f54326..7236f995e 100644 --- a/src/module.c +++ b/src/module.c @@ -13153,7 +13153,7 @@ int RM_GetKeyspaceNotificationFlagsAll(void) { * Example for 6.0.7 the return value will be 0x00060007. */ int RM_GetServerVersion(void) { - return SERVER_VERSION_NUM; + return VALKEY_VERSION_NUM; } /** diff --git a/src/networking.c b/src/networking.c index 0d2d7e951..156aa171c 100644 --- a/src/networking.c +++ b/src/networking.c @@ -3603,7 +3603,7 @@ void helloCommand(client *c) { addReplyBulkCString(c,"redis"); addReplyBulkCString(c,"version"); - addReplyBulkCString(c,SERVER_VERSION); + addReplyBulkCString(c,VALKEY_VERSION); addReplyBulkCString(c,"proto"); addReplyLongLong(c,c->resp); diff --git a/src/rdb.c b/src/rdb.c index f9b542fec..d1207f1cf 100644 --- a/src/rdb.c +++ b/src/rdb.c @@ -1195,9 +1195,7 @@ int rdbSaveInfoAuxFields(rio *rdb, int rdbflags, rdbSaveInfo *rsi) { int aof_base = (rdbflags & RDBFLAGS_AOF_PREAMBLE) != 0; /* Add a few fields about the state when the RDB was created. */ - if (rdbSaveAuxFieldStrStr(rdb,"server-ver",SERVER_VERSION) == -1) return -1; - /* Print Redis version for backwards compatibility with redis. */ - if (rdbSaveAuxFieldStrStr(rdb,"redis-ver",REDIS_VERSION) == -1) return -1; + if (rdbSaveAuxFieldStrStr(rdb,"valkey-ver",VALKEY_VERSION) == -1) return -1; if (rdbSaveAuxFieldStrInt(rdb,"redis-bits",redis_bits) == -1) return -1; if (rdbSaveAuxFieldStrInt(rdb,"ctime",time(NULL)) == -1) return -1; if (rdbSaveAuxFieldStrInt(rdb,"used-mem",zmalloc_used_memory()) == -1) return -1; @@ -3142,8 +3140,8 @@ int rdbLoadRioWithLoadingCtx(rio *rdb, int rdbflags, rdbSaveInfo *rsi, rdbLoadin } else if (!strcasecmp(auxkey->ptr,"redis-ver")) { serverLog(LL_NOTICE,"Loading RDB produced by Redis version %s", (char*)auxval->ptr); - } else if (!strcasecmp(auxkey->ptr,"server-ver")) { - serverLog(LL_NOTICE,"Loading RDB produced by server version %s", + } else if (!strcasecmp(auxkey->ptr,"valkey-ver")) { + serverLog(LL_NOTICE,"Loading RDB produced by valkey version %s", (char*)auxval->ptr); } else if (!strcasecmp(auxkey->ptr,"ctime")) { time_t age = time(NULL)-strtol(auxval->ptr,NULL,10); diff --git a/src/script_lua.c b/src/script_lua.c index c6a353241..148097d7d 100644 --- a/src/script_lua.c +++ b/src/script_lua.c @@ -1383,12 +1383,12 @@ void luaRegisterVersion(lua_State* lua) { lua_settable(lua,-3); /* Now push the Valkey version information. */ - lua_pushstring(lua,"SERVER_VERSION_NUM"); - lua_pushnumber(lua,SERVER_VERSION_NUM); + lua_pushstring(lua,"VALKEY_VERSION_NUM"); + lua_pushnumber(lua,VALKEY_VERSION_NUM); lua_settable(lua,-3); - lua_pushstring(lua,"SERVER_VERSION"); - lua_pushstring(lua,SERVER_VERSION); + lua_pushstring(lua,"VALKEY_VERSION"); + lua_pushstring(lua,VALKEY_VERSION); lua_settable(lua,-3); lua_pushstring(lua,"SERVER_NAME"); diff --git a/src/sentinel.c b/src/sentinel.c index 56b5e2896..1d8d7bbb7 100644 --- a/src/sentinel.c +++ b/src/sentinel.c @@ -1846,7 +1846,7 @@ void loadSentinelConfigFromQueue(void) { return; loaderr: - fprintf(stderr, "\n*** FATAL CONFIG FILE ERROR (Version %s) ***\n", SERVER_VERSION); + fprintf(stderr, "\n*** FATAL CONFIG FILE ERROR (Version %s) ***\n", VALKEY_VERSION); fprintf(stderr, "Reading the configuration file, at line %d\n", linenum); fprintf(stderr, ">>> '%s'\n", line); fprintf(stderr, "%s\n", err); diff --git a/src/server.c b/src/server.c index 8a636b6bb..a9680ab38 100644 --- a/src/server.c +++ b/src/server.c @@ -5490,7 +5490,7 @@ sds genRedisInfoString(dict *section_dict, int all_sections, int everything) { "# Server\r\n" "redis_version:%s\r\n" "server_name:%s\r\n", - "server_version:%s\r\n", + "valkey_version:%s\r\n", "redis_git_sha1:%s\r\n" "redis_git_dirty:%i\r\n" "redis_build_id:%s\r\n" @@ -5516,7 +5516,7 @@ sds genRedisInfoString(dict *section_dict, int all_sections, int everything) { "io_threads_active:%i\r\n", REDIS_VERSION, SERVER_NAME, - SERVER_VERSION, + VALKEY_VERSION, redisGitSHA1(), strtol(redisGitDirty(),NULL,10) > 0, redisBuildIdString(), @@ -6381,7 +6381,7 @@ void daemonize(void) { void version(void) { printf("Server v=%s sha=%s:%d malloc=%s bits=%d build=%llx\n", - SERVER_VERSION, + VALKEY_VERSION, redisGitSHA1(), atoi(redisGitDirty()) > 0, ZMALLOC_LIB, @@ -6435,7 +6435,7 @@ void redisAsciiArt(void) { ); } else { snprintf(buf,1024*16,ascii_logo, - SERVER_VERSION, + VALKEY_VERSION, redisGitSHA1(), strtol(redisGitDirty(),NULL,10) > 0, (sizeof(long) == 8) ? "64" : "32", @@ -7286,7 +7286,7 @@ int main(int argc, char **argv) { serverLog(LL_NOTICE, "oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo"); serverLog(LL_NOTICE, SERVER_NAME " version=%s, bits=%d, commit=%s, modified=%d, pid=%d, just started", - SERVER_VERSION, + VALKEY_VERSION, (sizeof(long) == 8) ? 64 : 32, redisGitSHA1(), strtol(redisGitDirty(),NULL,10) > 0, diff --git a/src/version.h b/src/version.h index eaaaac2ec..efa33e607 100644 --- a/src/version.h +++ b/src/version.h @@ -1,6 +1,6 @@ #define SERVER_NAME "valkey" -#define SERVER_VERSION "7.2.4" -#define SERVER_VERSION_NUM 0x00070204 +#define VALKEY_VERSION "7.2.4" +#define VALKEY_VERSION_NUM 0x00070204 /* Redis compatibility version, should never * exceed 7.2.x. */ diff --git a/tests/modules/misc.c b/tests/modules/misc.c index 46bfcb117..c6a5fd3b2 100644 --- a/tests/modules/misc.c +++ b/tests/modules/misc.c @@ -251,7 +251,7 @@ int test_setlfu(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) return REDISMODULE_OK; } -int test_redisversion(RedisModuleCtx *ctx, RedisModuleString **argv, int argc){ +int test_serverversion(RedisModuleCtx *ctx, RedisModuleString **argv, int argc){ (void) argv; (void) argc; @@ -543,7 +543,7 @@ int RedisModule_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) return REDISMODULE_ERR; if (RedisModule_CreateCommand(ctx,"test.setname", test_setname,"",0,0,0) == REDISMODULE_ERR) return REDISMODULE_ERR; - if (RedisModule_CreateCommand(ctx,"test.redisversion", test_redisversion,"",0,0,0) == REDISMODULE_ERR) + if (RedisModule_CreateCommand(ctx,"test.serverversion", test_serverversion,"",0,0,0) == REDISMODULE_ERR) return REDISMODULE_ERR; if (RedisModule_CreateCommand(ctx,"test.getclientcert", test_getclientcert,"",0,0,0) == REDISMODULE_ERR) return REDISMODULE_ERR; diff --git a/tests/unit/moduleapi/misc.tcl b/tests/unit/moduleapi/misc.tcl index 2b76ee34e..cb30518f0 100644 --- a/tests/unit/moduleapi/misc.tcl +++ b/tests/unit/moduleapi/misc.tcl @@ -21,7 +21,7 @@ start_server {overrides {save {900 1}} tags {"modules"}} { } test {test redis version} { - assert_equal [s server_version] [r test.redisversion] + assert_equal [s valkey_version] [r test.serverversion] } test {test long double conversions} {