From bc28fb4ac0ba4dc9f97fede94ea7893d8faabce3 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 <madelyneolson@gmail.com> --- src/cli_common.c | 2 +- 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 | 8 ++++---- src/version.h | 4 ++-- tests/modules/misc.c | 4 ++-- tests/unit/moduleapi/misc.tcl | 2 +- 16 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/cli_common.c b/src/cli_common.c index c55933418..b63dd70bf 100644 --- a/src/cli_common.c +++ b/src/cli_common.c @@ -413,7 +413,7 @@ sds escapeJsonString(sds s, const char *p, size_t len) { } sds cliVersion(void) { - sds version = sdscatprintf(sdsempty(), "%s", SERVER_VERSION); + sds version = sdscatprintf(sdsempty(), "%s", VALKEY_VERSION); /* Add git commit and working tree status when available. */ if (strtoll(serverGitSHA1(),NULL,16)) { diff --git a/src/config.c b/src/config.c index eee783592..6b7d22969 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 adce284c2..02133c5c5 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2252,7 +2252,7 @@ static 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>] [... 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 b1371fcc0..c8e0b066e 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 3e48b3283..044d5a6d8 100644 --- a/src/module.c +++ b/src/module.c @@ -13321,7 +13321,7 @@ int VM_GetKeyspaceNotificationFlagsAll(void) { * Example for 6.0.7 the return value will be 0x00060007. */ int VM_GetServerVersion(void) { - return SERVER_VERSION_NUM; + return VALKEY_VERSION_NUM; } /** diff --git a/src/networking.c b/src/networking.c index e8998dc1a..fdfb9b3fd 100644 --- a/src/networking.c +++ b/src/networking.c @@ -3650,7 +3650,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 1c922d31b..f35a41d8e 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; @@ -3166,8 +3164,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 fb0739d77..7b9d367d1 100644 --- a/src/script_lua.c +++ b/src/script_lua.c @@ -1393,12 +1393,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 af27ee9c3..24e8c3ded 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 c41247e9d..accb0bdbd 100644 --- a/src/server.c +++ b/src/server.c @@ -5586,7 +5586,7 @@ sds genRedisInfoString(dict *section_dict, int all_sections, int everything) { info = sdscatfmt(info, "# Server\r\n" FMTARGS( "redis_version:%s\r\n", REDIS_VERSION, "server_name:%s\r\n", SERVER_NAME, - "server_version:%s\r\n", SERVER_VERSION, + "valkey_version:%s\r\n", VALKEY_VERSION, "redis_git_sha1:%s\r\n", serverGitSHA1(), "redis_git_dirty:%i\r\n", strtol(serverGitDirty(),NULL,10) > 0, "redis_build_id:%s\r\n", serverBuildIdString(), @@ -6267,7 +6267,7 @@ void daemonize(void) { sds getVersion(void) { sds version = sdscatprintf(sdsempty(), "v=%s sha=%s:%d malloc=%s bits=%d build=%llx", - SERVER_VERSION, + VALKEY_VERSION, serverGitSHA1(), atoi(serverGitDirty()) > 0, ZMALLOC_LIB, @@ -6321,7 +6321,7 @@ void serverAsciiArt(void) { ); } else { snprintf(buf,1024*16,ascii_logo, - SERVER_VERSION, + VALKEY_VERSION, serverGitSHA1(), strtol(serverGitDirty(),NULL,10) > 0, (sizeof(long) == 8) ? "64" : "32", @@ -7156,7 +7156,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, serverGitSHA1(), strtol(serverGitDirty(),NULL,10) > 0, diff --git a/src/version.h b/src/version.h index af46071da..b82be5cbe 100644 --- a/src/version.h +++ b/src/version.h @@ -1,6 +1,6 @@ #define SERVER_NAME "valkey" -#define SERVER_VERSION "255.255.255" -#define SERVER_VERSION_NUM 0x00ffffff +#define VALKEY_VERSION "255.255.255" +#define VALKEY_VERSION_NUM 0x00ffffff /* Redis compatibility version, should never * exceed 7.2.x. */ diff --git a/tests/modules/misc.c b/tests/modules/misc.c index b508e656d..c062f63a6 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; @@ -580,7 +580,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 ffcf9bd61..da2ca8489 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} {