Snapshotting issues when ReJSON module is loaded
mwnd opened this issue · 5 comments
I have been encountering snapshotting issue since the beginning of using ReJSON module. Result of the issue, I'm unable to use snapshot feature (both read and write). Besides access violation exception, when fork operation fails, I also get below message in the Redis client.
(error) MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
Here are steps to reproduce two issues.
- Install Redis Windows 5.0.10 and copy ReJSON.dll
- Load the module, either type command
module load "C:\\Program Files\\Redis\\ReJSON.dll"
or set it up in config file. - Updating the config file
save 30 1
to use 30 sec interval, threshold 1 key change, so we don't need to wait too long. - Insert a JSON key:
JSON.SET obj . '{"name":"John"}'
- (issue 1) Type command save, then try to restart Redis service. We would get the error:
The RDB file contains module data I can't load: no matching module 'ReJSON-RL'
- (issue 2) Delete the dump.rdb we got in above step so we could restart the Redis service, repeat step 1~4, then we would see
fork operation failed
every 5 seconds when snapshotting (background saving).
Redis version: 5.0.10
[5288] 18 Feb 15:16:13.192 # --- EXCEPTION_ACCESS_VIOLATION
[5288] 18 Feb 15:16:13.193 # --- STACK TRACE
redis-server.exe!StackTraceInfo(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:153)(0x14018CEB0, 0x0014FF60, 0x0014DEE0, 0x0014DEE0)
redis-server.exe!UnhandledExceptiontHandler(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x0014DEE0, 0x0014FF01, 0x1400DC620, 0x1400E5260)
KERNELBASE.dll!UnhandledExceptionFilter(D:\dev\GitHub\redis\src\Win32_Interop\Win32_StackTrace.cpp:186)(0x00000000, 0x7FFD43501FF8, 0x00000000, 0x00000000)
Notes:
- As you can see from the config file I didn't enable AoF.
- I also tried Redis 5.0.9, your Windows build ReJSON1.0.6, my build ReJSON1.0.2, and combinations. All result the same errors.
Here are the log, faulty rdb file that can't be loaded, as well as the config file. Hope you can help.
snapshotting_issues.zip
I've found the same problem recently
How to get ReJSON.dll in win10
any solution ?
I seem to be having a similar issue. ReJSON works 1.0.6 works fine when Redis 5.0.10 for Windows is first started. But the following occurs after restarting redis:
# Server initialized
# <ReJSON> JSON data type for Redis v1.0.6 [encver 0]
* Module 'ReJSON' loaded from C:/...../ReJSON.dll
# Error loading data from RDB (short read or EOF). Read performed by module 'ReJSON' about type 'ReJSON-RL' after reading '0' bytes of a value.
@mwnd @zhuimengzhe123 @hnmzzzxxl @kingketo @catchtechnologies sorry it took so long, but the fix is now available as v1.0.6.1 release