Skip to content

Commit

Permalink
Review fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
MeirShpilraien committed Sep 2, 2024
1 parent 2beccc8 commit b1db05e
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 22 deletions.
1 change: 1 addition & 0 deletions src/defrag.c
Original file line number Diff line number Diff line change
Expand Up @@ -1089,6 +1089,7 @@ void activeDefragCycle(void) {
slot = -1;
defrag_later_item_in_progress = 0;
db = NULL;
moduleDefragEnd();
goto update_metrics;
}
return;
Expand Down
23 changes: 7 additions & 16 deletions src/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -13453,21 +13453,13 @@ int RM_RegisterDefragFunc(RedisModuleCtx *ctx, RedisModuleDefragFunc cb) {
return REDISMODULE_OK;
}

/* Register a defrag callback that will be called when defrag operation starts.
/* Register a defrag callbacks that will be called when defrag operation starts and ends.
*
* The callback supports anything as on `RM_RegisterDefragFunc` but the user
* can also assume the callback is called when the defrag operation starts. */
int RM_RegisterDefragStartFunc(RedisModuleCtx *ctx, RedisModuleDefragFunc cb) {
ctx->module->defrag_start_cb = cb;
return REDISMODULE_OK;
}

/* Register a defrag callback that will be called when defrag operation ends.
*
* The callback supports anything as on `RM_RegisterDefragFunc` but the user
* can also assume the callback is called when the defrag operation ends. */
int RM_RegisterDefragEndFunc(RedisModuleCtx *ctx, RedisModuleDefragFunc cb) {
ctx->module->defrag_end_cb = cb;
* The callbacks are the same as `RM_RegisterDefragFunc` but the user
* can also assume the callbacks are called when the defrag operation starts and ends. */
int RM_RegisterDefragCallbacks(RedisModuleCtx *ctx, RedisModuleDefragFunc start, RedisModuleDefragFunc end) {
ctx->module->defrag_start_cb = start;
ctx->module->defrag_end_cb = end;
return REDISMODULE_OK;
}

Expand Down Expand Up @@ -14051,8 +14043,7 @@ void moduleRegisterCoreAPI(void) {
REGISTER_API(GetCurrentCommandName);
REGISTER_API(GetTypeMethodVersion);
REGISTER_API(RegisterDefragFunc);
REGISTER_API(RegisterDefragStartFunc);
REGISTER_API(RegisterDefragEndFunc);
REGISTER_API(RegisterDefragCallbacks);
REGISTER_API(DefragAlloc);
REGISTER_API(DefragAllocRaw);
REGISTER_API(DefragFreeRaw);
Expand Down
6 changes: 2 additions & 4 deletions src/redismodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -1296,8 +1296,7 @@ REDISMODULE_API int *(*RedisModule_GetCommandKeys)(RedisModuleCtx *ctx, RedisMod
REDISMODULE_API int *(*RedisModule_GetCommandKeysWithFlags)(RedisModuleCtx *ctx, RedisModuleString **argv, int argc, int *num_keys, int **out_flags) REDISMODULE_ATTR;
REDISMODULE_API const char *(*RedisModule_GetCurrentCommandName)(RedisModuleCtx *ctx) REDISMODULE_ATTR;
REDISMODULE_API int (*RedisModule_RegisterDefragFunc)(RedisModuleCtx *ctx, RedisModuleDefragFunc func) REDISMODULE_ATTR;
REDISMODULE_API int (*RedisModule_RegisterDefragStartFunc)(RedisModuleCtx *ctx, RedisModuleDefragFunc func) REDISMODULE_ATTR;
REDISMODULE_API int (*RedisModule_RegisterDefragEndFunc)(RedisModuleCtx *ctx, RedisModuleDefragFunc func) REDISMODULE_ATTR;
REDISMODULE_API int (*RedisModule_RegisterDefragCallbacks)(RedisModuleCtx *ctx, RedisModuleDefragFunc start, RedisModuleDefragFunc end) REDISMODULE_ATTR;
REDISMODULE_API void *(*RedisModule_DefragAlloc)(RedisModuleDefragCtx *ctx, void *ptr) REDISMODULE_ATTR;
REDISMODULE_API void *(*RedisModule_DefragAllocRaw)(RedisModuleDefragCtx *ctx, size_t size) REDISMODULE_ATTR;
REDISMODULE_API void (*RedisModule_DefragFreeRaw)(RedisModuleDefragCtx *ctx, void *ptr) REDISMODULE_ATTR;
Expand Down Expand Up @@ -1666,8 +1665,7 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
REDISMODULE_GET_API(GetCommandKeysWithFlags);
REDISMODULE_GET_API(GetCurrentCommandName);
REDISMODULE_GET_API(RegisterDefragFunc);
REDISMODULE_GET_API(RegisterDefragStartFunc);
REDISMODULE_GET_API(RegisterDefragEndFunc);
REDISMODULE_GET_API(RegisterDefragCallbacks);
REDISMODULE_GET_API(DefragAlloc);
REDISMODULE_GET_API(DefragAllocRaw);
REDISMODULE_GET_API(DefragFreeRaw);
Expand Down
3 changes: 1 addition & 2 deletions tests/modules/defragtest.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,8 +258,7 @@ int RedisModule_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc)

RedisModule_RegisterInfoFunc(ctx, FragInfo);
RedisModule_RegisterDefragFunc(ctx, defragGlobalStrings);
RedisModule_RegisterDefragStartFunc(ctx, defragStart);
RedisModule_RegisterDefragEndFunc(ctx, defragEnd);
RedisModule_RegisterDefragCallbacks(ctx, defragStart, defragEnd);

return REDISMODULE_OK;
}

0 comments on commit b1db05e

Please sign in to comment.