You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the Lua scripting engine code is part of Valkey core engine binary, and this makes the following options difficult to achieve:
Build Valkey without the Lua dependency
Completely unload the Lua scripting engine from memory if we don't want to use it for EVAL/FCALL.
Replace the Lua scripting engine present in the core, which currently uses Lua 5.1 interpreter, by a scripting engine that uses a more recent Lua interpreter.
Making the Lua scripting engine an external module enables the above options, in a straightforward way.
Point 1 is automatically achieved because the valkey core engine will not have any Lua code in it.
For point 2, we can just run the command MODULE UNLOAD <modulename> to unload the lua module.
And for point 3, we can unload the lua 5.1 module, and load the lua 5.3 module.
Description of the feature
The current Lua scripting engine code is built as an external module and the code adapted to make use of the Module API.
When the valkey server binary is built, we also build the the lua module, and the server code will automatically load the Lua module upon startup.
If a user does not want the Lua scripting engine to be automatically loaded, the user must set a new configuration option in valkey.conf to prevent the lua module from being loaded.
The release process must also be changed to install the lua module in the standard shared libraries directory of the OS, so that the valkey server can find it when it loads it on startup.
The problem/use-case that the feature addresses
Currently the Lua scripting engine code is part of Valkey core engine binary, and this makes the following options difficult to achieve:
Making the Lua scripting engine an external module enables the above options, in a straightforward way.
Point 1 is automatically achieved because the valkey core engine will not have any Lua code in it.
For point 2, we can just run the command
MODULE UNLOAD <modulename>
to unload the lua module.And for point 3, we can unload the lua 5.1 module, and load the lua 5.3 module.
Description of the feature
The current Lua scripting engine code is built as an external module and the code adapted to make use of the Module API.
When the valkey server binary is built, we also build the the lua module, and the server code will automatically load the Lua module upon startup.
If a user does not want the Lua scripting engine to be automatically loaded, the user must set a new configuration option in
valkey.conf
to prevent the lua module from being loaded.The release process must also be changed to install the lua module in the standard shared libraries directory of the OS, so that the valkey server can find it when it loads it on startup.
Related Issues and PRs
#1261
#1204
#1277
#1497
The text was updated successfully, but these errors were encountered: