KeyDB icon indicating copy to clipboard operation
KeyDB copied to clipboard

[CRASH] Crash using with RedisGraph module

Open hongbo-miao opened this issue 3 years ago • 0 comments

Crash report

Paste the complete crash log between the quotes below. Please include a few lines from the log preceding the crash report to provide some context.

The first master node log (looks good, didn't crash)
1:1:C 03 May 2022 18:33:56.239 * Notice: "active-replica yes" implies "replica-read-only no"
1:1:C 03 May 2022 18:33:56.240 * Before turning into a replica, using my own master parameters to synthesize a cached master: I may be able to synchronize with the new master with just a partial transfer.
1:1:C 03 May 2022 18:33:56.240 # oO0OoO0OoO0Oo KeyDB is starting oO0OoO0OoO0Oo
1:1:C 03 May 2022 18:33:56.240 # KeyDB version=6.2.2, bits=64, commit=478ed26b, modified=1, pid=1, just started
1:1:C 03 May 2022 18:33:56.240 # Configuration loaded
1:1:S 03 May 2022 18:33:56.241 * monotonic clock: POSIX clock_gettime
                                                                      
                  _                                                   
               _-(+)-_                                                
            _-- /   \ --_                                            
         _--   /     \   --_            KeyDB 6.2.2 (478ed26b/1) 64 bit      
     __--     /       \     --__                                     
    (+) _    /         \    _ (+)       Running in standalone mode
     |   -- /           \ --   |        Port: 6379
     |     /--_   _   _--\     |        PID: 1
     |    /     -(+)-     \    |                                     
     |   /        |        \   |        https://docs.keydb.dev       
     |  /         |         \  |                                     
     | /          |          \ |                                     
    (+)_ -- -- -- | -- -- -- _(+)                                     
        --_       |       _--                                         
            --_   |   _--                                             
                -(+)-        Join the KeyDB community! https://community.keydb.dev/

                                                                     
1:1:S 03 May 2022 18:33:56.685 # Server initialized
1:1:S 03 May 2022 18:33:56.722 * <graph> Starting up RedisGraph version 2.8.11.
1:1:S 03 May 2022 18:33:56.727 * <graph> Thread pool created, using 6 threads.
1:1:S 03 May 2022 18:33:56.727 * <graph> Maximum number of OpenMP threads set to 6
1:1:S 03 May 2022 18:33:56.728 * Module 'graph' loaded from /usr/lib/keydb/modules/redisgraph.so
1:32:S 03 May 2022 18:33:56.729 * Thread 0 alive.
1:33:S 03 May 2022 18:33:56.729 * Thread 1 alive.
1:32:S 03 May 2022 18:33:56.730 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:33:56.731 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:33:56.735 * Non blocking connect for SYNC fired the event.
1:32:S 03 May 2022 18:33:56.744 * Master replied to PING, replication can continue...
1:32:S 03 May 2022 18:33:56.745 * Replica 172.17.0.1:6379 asks for synchronization
1:32:S 03 May 2022 18:33:56.745 * Full resync requested by replica 172.17.0.1:6379
1:32:S 03 May 2022 18:33:56.745 * Replication backlog created, my new replication IDs are '05e08c0aebe9e2861637c9e1eaba83b7fd90fd1a' and '0000000000000000000000000000000000000000'
1:32:S 03 May 2022 18:33:56.745 * Starting BGSAVE for SYNC with target: disk
1:32:S 03 May 2022 18:33:56.749 * Background saving started by pid 36
1:32:S 03 May 2022 18:33:56.752 * Partial resynchronization not possible (no cached master)
36:32:C 03 May 2022 18:33:56.755 * DB saved on disk
36:32:C 03 May 2022 18:33:56.757 * RDB: 0 MB of memory used by copy-on-write
1:32:S 03 May 2022 18:33:56.761 * Full resync from master: 2608cbf3ae04c07ac1f5b7febf6c8962fe735bf4:0
1:32:S 03 May 2022 18:33:56.761 * Discarding previously cached master state.
1:32:S 03 May 2022 18:33:56.821 * MASTER <-> REPLICA sync: receiving 205 bytes from master to disk
1:32:S 03 May 2022 18:33:56.822 * MASTER <-> REPLICA sync: Loading DB in memory
1:32:S 03 May 2022 18:33:56.822 * Replica is about to load the RDB file received from the master, but there is a pending RDB child running. Killing process 36 and removing its temp file to avoid any race
1:32:S 03 May 2022 18:33:56.826 * Loading RDB produced by version 6.2.2
1:32:S 03 May 2022 18:33:56.826 * RDB age 0 seconds
1:32:S 03 May 2022 18:33:56.826 * RDB memory usage when created 3.06 Mb
1:32:S 03 May 2022 18:33:56.826 # Done loading RDB, keys loaded: 0, keys expired: 0.
1:32:S 03 May 2022 18:33:56.826 * MASTER <-> REPLICA sync: Finished with success
1:32:S 03 May 2022 18:33:56.832 * Background saving terminated with success
1:32:S 03 May 2022 18:33:56.832 * Synchronization with replica 172.17.0.1:6379 succeeded
1:32:S 03 May 2022 18:35:16.332 # Connection with master lost.
1:32:S 03 May 2022 18:35:16.332 * Caching the disconnected master state.
1:32:S 03 May 2022 18:35:16.333 # Connection with replica 172.17.0.1:6379 lost.
1:32:S 03 May 2022 18:35:17.307 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:35:17.308 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:35:17.492 * Non blocking connect for SYNC fired the event.
1:32:S 03 May 2022 18:36:18.786 # Timeout connecting to the MASTER...
1:32:S 03 May 2022 18:36:19.794 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:36:19.794 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:36:19.804 * Non blocking connect for SYNC fired the event.
1:32:S 03 May 2022 18:37:20.198 # Timeout connecting to the MASTER...
1:32:S 03 May 2022 18:37:21.205 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:37:21.205 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:37:21.301 * Non blocking connect for SYNC fired the event.
1:32:S 03 May 2022 18:38:22.614 # Timeout connecting to the MASTER...
1:32:S 03 May 2022 18:38:23.621 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:38:23.621 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:38:23.633 * Non blocking connect for SYNC fired the event.
1:32:S 03 May 2022 18:38:57.055 * 10 changes in 300 seconds. Saving...
1:32:S 03 May 2022 18:38:57.057 * Background saving started by pid 38
38:32:C 03 May 2022 18:38:57.057 * <graph> Created 0 virtual keys for graph movies
38:32:C 03 May 2022 18:38:57.062 * <graph> Done encoding graph movies
38:32:C 03 May 2022 18:38:57.066 * DB saved on disk
38:32:C 03 May 2022 18:38:57.066 * <graph> Deleted 0 virtual keys for graph movies
38:32:C 03 May 2022 18:38:57.068 * RDB: 0 MB of memory used by copy-on-write
1:32:S 03 May 2022 18:38:57.158 * Background saving terminated with success
1:32:S 03 May 2022 18:39:24.025 # Timeout connecting to the MASTER...
1:32:S 03 May 2022 18:39:25.033 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:39:25.033 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:39:25.037 * Non blocking connect for SYNC fired the event.
1:32:S 03 May 2022 18:40:26.478 # Timeout connecting to the MASTER...
1:32:S 03 May 2022 18:40:27.374 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:40:27.374 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:40:27.378 * Non blocking connect for SYNC fired the event.
1:32:S 03 May 2022 18:41:28.841 # Timeout connecting to the MASTER...
1:32:S 03 May 2022 18:41:29.848 * Connecting to MASTER 192.168.2.58:6379
1:32:S 03 May 2022 18:41:29.849 * MASTER <-> REPLICA sync started
1:32:S 03 May 2022 18:41:29.852 * Non blocking connect for SYNC fired the event.
The second master node log (crashed)
1:1:C 03 May 2022 18:33:54.893 * Notice: "active-replica yes" implies "replica-read-only no"
1:1:C 03 May 2022 18:33:54.893 * Before turning into a replica, using my own master parameters to synthesize a cached master: I may be able to synchronize with the new master with just a partial transfer.
1:1:C 03 May 2022 18:33:54.894 # oO0OoO0OoO0Oo KeyDB is starting oO0OoO0OoO0Oo
1:1:C 03 May 2022 18:33:54.894 # KeyDB version=6.2.2, bits=64, commit=478ed26b, modified=1, pid=1, just started
1:1:C 03 May 2022 18:33:54.894 # Configuration loaded
1:1:S 03 May 2022 18:33:54.896 * monotonic clock: POSIX clock_gettime
                                                                      
                  _                                                   
               _-(+)-_                                                
            _-- /   \ --_                                            
         _--   /     \   --_            KeyDB 6.2.2 (478ed26b/1) 64 bit      
     __--     /       \     --__                                     
    (+) _    /         \    _ (+)       Running in standalone mode
     |   -- /           \ --   |        Port: 6379
     |     /--_   _   _--\     |        PID: 1
     |    /     -(+)-     \    |                                     
     |   /        |        \   |        https://docs.keydb.dev       
     |  /         |         \  |                                     
     | /          |          \ |                                     
    (+)_ -- -- -- | -- -- -- _(+)                                     
        --_       |       _--                                         
            --_   |   _--                                             
                -(+)-        Join the KeyDB community! https://community.keydb.dev/

                                                                     
1:1:S 03 May 2022 18:33:55.337 # Server initialized
1:1:S 03 May 2022 18:33:55.342 * <graph> Starting up RedisGraph version 2.8.11.
1:1:S 03 May 2022 18:33:55.343 * <graph> Thread pool created, using 4 threads.
1:1:S 03 May 2022 18:33:55.343 * <graph> Maximum number of OpenMP threads set to 4
1:1:S 03 May 2022 18:33:55.343 * Module 'graph' loaded from /usr/lib/keydb/modules/redisgraph.so
1:29:S 03 May 2022 18:33:55.343 * Thread 0 alive.
1:30:S 03 May 2022 18:33:55.344 * Thread 1 alive.
1:29:S 03 May 2022 18:33:55.344 * Connecting to MASTER 192.168.2.117:6379
1:29:S 03 May 2022 18:33:55.344 * MASTER <-> REPLICA sync started
1:29:S 03 May 2022 18:33:55.349 # Error condition on socket for SYNC: Connection refused
1:29:S 03 May 2022 18:33:56.376 * Connecting to MASTER 192.168.2.117:6379
1:29:S 03 May 2022 18:33:56.376 * MASTER <-> REPLICA sync started
1:29:S 03 May 2022 18:33:56.382 * Non blocking connect for SYNC fired the event.
1:29:S 03 May 2022 18:33:56.701 * Master replied to PING, replication can continue...
1:29:S 03 May 2022 18:33:56.709 * Partial resynchronization not possible (no cached master)
1:29:S 03 May 2022 18:33:56.719 * Full resync from master: 05e08c0aebe9e2861637c9e1eaba83b7fd90fd1a:0
1:29:S 03 May 2022 18:33:56.719 * Discarding previously cached master state.
1:29:S 03 May 2022 18:33:56.723 * Replica 172.17.0.1:6379 asks for synchronization
1:29:S 03 May 2022 18:33:56.723 * Full resync requested by replica 172.17.0.1:6379
1:29:S 03 May 2022 18:33:56.723 * Replication backlog created, my new replication IDs are '2608cbf3ae04c07ac1f5b7febf6c8962fe735bf4' and '0000000000000000000000000000000000000000'
1:29:S 03 May 2022 18:33:56.723 * Starting BGSAVE for SYNC with target: disk
1:29:S 03 May 2022 18:33:56.725 * Background saving started by pid 33
33:29:C 03 May 2022 18:33:56.727 * DB saved on disk
33:29:C 03 May 2022 18:33:56.729 * RDB: 0 MB of memory used by copy-on-write
1:29:S 03 May 2022 18:33:56.786 * Background saving terminated with success
1:29:S 03 May 2022 18:33:56.786 * Synchronization with replica 172.17.0.1:6379 succeeded
1:29:S 03 May 2022 18:33:56.802 * MASTER <-> REPLICA sync: receiving 205 bytes from master to disk
1:29:S 03 May 2022 18:33:56.802 * MASTER <-> REPLICA sync: Loading DB in memory
1:29:S 03 May 2022 18:33:56.804 * Loading RDB produced by version 6.2.2
1:29:S 03 May 2022 18:33:56.805 * RDB age 0 seconds
1:29:S 03 May 2022 18:33:56.805 * RDB memory usage when created 3.08 Mb
1:29:S 03 May 2022 18:33:56.805 # Done loading RDB, keys loaded: 0, keys expired: 0.
1:29:S 03 May 2022 18:33:56.805 * MASTER <-> REPLICA sync: Finished with success
1:29:S 03 May 2022 18:35:16.279 # Command didn't execute: 
1:29:S 03 May 2022 18:35:16.279 # == CRITICAL == This replica is sending an error to its master: 'command did not execute' after processing the command 'rreplay'
1:29:S 03 May 2022 18:35:16.279 # Latest backlog is: '"6f83e-65f4-4b25-91ef-749f0977c356\r\n$180\r\n*3\r\n$11\r\nGRAPH.QUERY\r\n$6\r\nmovies\r\n$138\r\nCREATE (:Actor {name:'Mark Hamill', actor_id:1}), (:Actor {name:'Harrison Ford', actor_id:2}), (:Actor {name:'Carrie Fisher', actor_id:3})\r\n\r\n$1\r\n0\r\n$19\r\n1731831179533877249\r\n"'


=== KEYDB BUG REPORT START: Cut & paste starting from here ===
1:29:S 03 May 2022 18:35:16.279 # === ASSERTION FAILED ===
1:29:S 03 May 2022 18:35:16.279 # ==> replication.cpp:4729 'sdslen(cFake->querybuf) == 0' is not true

------ STACK TRACE ------

Backtrace:
keydb-server *:6379(replicaReplayCommand(client*)+0x820) [0x55a13049e040]
keydb-server *:6379(call(client*, int)+0xb4) [0x55a130464604]
keydb-server *:6379(processCommand(client*, int)+0x7a8) [0x55a130465488]
keydb-server *:6379(processCommandAndResetClient(client*, int)+0x3e) [0x55a130476f7e]
keydb-server *:6379(processInputBuffer(client*, int)+0x1c3) [0x55a13047d193]
keydb-server *:6379(processClients()+0x9e) [0x55a13047efbe]
keydb-server *:6379(beforeSleep(aeEventLoop*)+0xd6) [0x55a13045aac6]
keydb-server *:6379(aeProcessEvents+0x10b) [0x55a130456d9b]
keydb-server *:6379(aeMain+0x43) [0x55a1304572a3]
keydb-server *:6379(workerThreadMain(void*)+0x6a) [0x55a13045e83a]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f49aebae6db]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f49ae8d761f]

------ INFO OUTPUT ------
# Server
redis_version:6.2.2
redis_git_sha1:478ed26b
redis_git_dirty:1
redis_build_id:1250082c737e4a86
redis_mode:standalone
os:Linux 5.10.104-linuxkit x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:7.5.0
process_id:1
process_supervised:no
run_id:cf7acb778ed0a605be50796507e1181f51af126f
tcp_port:6379
server_time_usec:1651602916284255
uptime_in_seconds:82
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7435748
executable:/data/keydb-server
config_file:/etc/keydb/keydb.conf

# Clients
connected_clients:1
cluster_connections:0
maxclients:10000
client_recent_max_input_buffer:48
client_recent_max_output_buffer:0
blocked_clients:1
tracking_clients:0
clients_in_timeout_table:0
current_client_thread:0
thread_0_clients:2
thread_1_clients:0

# Memory
used_memory:5346872
used_memory_human:5.10M
used_memory_rss:23322624
used_memory_rss_human:22.24M
used_memory_peak:5696856
used_memory_peak_human:5.43M
used_memory_peak_perc:93.86%
used_memory_overhead:3208600
used_memory_startup:2116856
used_memory_dataset:2138272
used_memory_dataset_perc:66.20%
allocator_allocated:6779160
allocator_active:8089600
allocator_resident:12021760
total_system_memory:8242126848
total_system_memory_human:7.68G
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.19
allocator_frag_bytes:1310440
allocator_rss_ratio:1.49
allocator_rss_bytes:3932160
rss_overhead_ratio:1.94
rss_overhead_bytes:11300864
mem_fragmentation_ratio:4.40
mem_fragmentation_bytes:18019272
mem_not_counted_for_evict:0
mem_replication_backlog:1048576
mem_clients_slaves:20512
mem_clients_normal:20528
mem_aof_buffer:0
mem_allocator:jemalloc-5.2.1
active_defrag_running:0
lazyfree_pending_objects:0
lazyfreed_objects:0

# Persistence
loading:0
current_cow_size:0
current_cow_size_age:0
current_fork_perc:0.00
current_save_keys_processed:0
current_save_keys_total:0
rdb_changes_since_last_save:146
rdb_bgsave_in_progress:0
rdb_last_save_time:1651602836
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:462848
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0
module_fork_in_progress:0
module_fork_last_cow_size:0

# Stats
total_connections_received:1
total_commands_processed:694
instantaneous_ops_per_sec:116
total_net_input_bytes:102464
total_net_output_bytes:102212
instantaneous_input_kbps:18.80
instantaneous_output_kbps:18.93
rejected_connections:0
sync_full:1
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
expired_stale_perc:0.00
expired_time_cap_reached_count:0
expire_cycle_cpu_milliseconds:0
evicted_keys:0
keyspace_hits:291
keyspace_misses:1
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:1759
total_forks:1
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0
tracking_total_keys:0
tracking_total_items:0
tracking_total_prefixes:0
unexpected_error_replies:1
total_error_replies:2
dump_payload_sanitizations:0
total_reads_processed:355
total_writes_processed:387

# Replication
role:active-replica
master_global_link_status:up
master_host:192.168.2.117
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_read_repl_offset:99101
slave_repl_offset:98719
slave_priority:100
slave_read_only:0
replica_announced:1
connected_slaves:1
slave0:ip=172.17.0.1,port=6379,state=online,offset=98438,lag=0
master_failover_state:no-failover
master_replid:23e847f945ed22fcd7c27e1f55d60ad503e3a6ee
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:99101
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:99101

# CPU
used_cpu_sys:0.523650
used_cpu_user:0.505593
used_cpu_sys_children:0.008383
used_cpu_user_children:0.001114
server_threads:2
long_lock_waits:0
used_cpu_sys_main_thread:0.225078
used_cpu_user_main_thread:0.179340

# Modules
module:name=graph,ver=20811,api=1,filters=0,usedby=[],using=[],options=[]

# Commandstats
cmdstat_graph.QUERY:calls=146,usec=34630,usec_per_call=237.19,rejected_calls=0,failed_calls=0
cmdstat_auth:calls=1,usec=5,usec_per_call=5.00,rejected_calls=0,failed_calls=0
cmdstat_rreplay:calls=457,usec=22410,usec_per_call=49.04,rejected_calls=0,failed_calls=0
cmdstat_ping:calls=7,usec=1,usec_per_call=0.14,rejected_calls=0,failed_calls=0
cmdstat_replping:calls=0,usec=0,usec_per_call=0.00,rejected_calls=1,failed_calls=0
cmdstat_psync:calls=1,usec=2500,usec_per_call=2500.00,rejected_calls=0,failed_calls=0
cmdstat_replconf:calls=82,usec=125,usec_per_call=1.52,rejected_calls=0,failed_calls=0

# Errorstats
errorstat_ERR:count=1
errorstat_NOAUTH:count=1

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=1,expires=0,avg_ttl=0

------ CLIENT LIST OUTPUT ------
id=7 addr=172.17.0.1:57232 laddr=172.17.0.2:6379 fd=18 name= age=80 idle=0 flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=40954 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=61464 events=r cmd=replconf user=default redir=-1
id=9 addr=192.168.2.117:6379 laddr=172.17.0.2:49456 fd=0 name= age=80 idle=0 flags=M db=0 sub=0 psub=0 multi=-1 qbuf=382 qbuf-free=40572 argv-mem=344 obl=0 oll=0 omem=0 tot-mem=61824 events=r cmd=rreplay user=(superuser) redir=-1

------ CURRENT CLIENT INFO ------
id=9 addr=192.168.2.117:6379 laddr=172.17.0.2:49456 fd=0 name= age=80 idle=0 flags=M db=0 sub=0 psub=0 multi=-1 qbuf=382 qbuf-free=40572 argv-mem=344 obl=0 oll=0 omem=0 tot-mem=61824 events=r cmd=rreplay user=(superuser) redir=-1
argv[0]: 'RREPLAY'
argv[1]: 'c2495b26-95ae-451f-b7bd-dbf9d49829ff'
argv[2]: '*5
$7
RREPLAY
$36
ce16f83e-65f4-4b25-91ef-749f0977c356
$180
*3
$11
GRAPH.QUERY
$6
movies
$138
CREATE (:Actor {name:'Mark Hamill', actor_id:1}), (:Actor {name:'Harrison Ford', actor_id:2}), (:Actor {name:'Carrie Fisher', actor_id:3})

$1
0
$19
1731831179533877249
'
argv[3]: '0'
argv[4]: '1731831179569528834'

------ MODULES INFO OUTPUT ------
# graph_executing commands

------ FAST MEMORY TEST ------
1:29:S 03 May 2022 18:35:16.287 # main thread terminated
1:29:S 03 May 2022 18:35:16.288 # Bio thread for job type #0 terminated
1:29:S 03 May 2022 18:35:16.289 # Bio thread for job type #1 terminated
1:29:S 03 May 2022 18:35:16.290 # Bio thread for job type #2 terminated

Fast memory test PASSED, however your memory can still be broken. Please run a memory test for several hours if possible.

=== KEYDB BUG REPORT END. Make sure to include from START to END. ===

       Please report the crash by opening an issue on github:

           https://github.com/JohnSully/KeyDB/issues

  Suspect RAM error? Use keydb-server --test-memory to verify it.

Aditional information

  1. OS distribution and version:
  • keydb: x86_64_v6.2.2
  • redisgraph: Linux-ubuntu18.04-x86_64.2.8.11
  1. Steps to reproduce (if any)

Here is a Dockerfile to help you reproduce:

FROM alpine:3.15.4 AS builder
WORKDIR /usr/src/app
RUN wget https://github.com/Hongbo-Miao/hm-redis-modules/raw/main/redisgraph.Linux-ubuntu18.04-x86_64.2.8.11/redisgraph.so --quiet \
  && chmod 755 redisgraph.so

FROM eqalpha/keydb:x86_64_v6.2.2
# libgomp1 is needed, otherwise will fail to run later: https://github.com/RedisGraph/RedisGraph/blob/master/README.md#loading-redisgraph-into-redis
RUN apt-get update \
  && apt-get upgrade -y \
  && apt-get install libgomp1 -y --no-install-recommends \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/app/redisgraph.so /usr/lib/keydb/modules/
CMD ["keydb-server", "/etc/keydb/keydb.conf", "--loadmodule", "/usr/lib/keydb/modules/redisgraph.so"]

Or just using this docker image built based on above Dockerfile ghcr.io/hongbo-miao/hm-keydb:latest.

To reproduce,

  1. On laptop A, run
docker run \
	--detach \
	--name=hm-keydb \
	--publish=6379:6379 \
	ghcr.io/hongbo-miao/hm-keydb:latest \
	keydb-server \
		/etc/keydb/keydb.conf \
		--loadmodule /usr/lib/keydb/modules/redisgraph.so \
		--multi-master yes \
		--active-replica yes \
		--replicaof {Laptop B IP address} 6379 \
		--requirepass passw0rd \
		--masterauth passw0rd
  1. On laptop B, run
docker run \
	--detach \
	--name=hm-keydb \
	--publish=6379:6379 \
	ghcr.io/hongbo-miao/hm-keydb:latest \
	keydb-server \
		/etc/keydb/keydb.conf \
		--loadmodule /usr/lib/keydb/modules/redisgraph.so \
		--multi-master yes \
		--active-replica yes \
		--replicaof {Laptop A IP address} 6379 \
		--requirepass passw0rd \
		--masterauth passw0rd
  1. On laptop A, run
keydb-cli --pass passw0rd

Continue running

GRAPH.QUERY movies "CREATE (:Actor {name:'Mark Hamill', actor_id:1}), (:Actor {name:'Harrison Ford', actor_id:2}), (:Actor {name:'Carrie Fisher', actor_id:3})"
GRAPH.QUERY movies "CREATE (:Movie {title:'Star Wars: Episode V - The Empire Strikes Back', release_year: 1980 , movie_id:1})"
  1. At this moment, you will see the error on the B laptop.

BTW, if I restart the KeyDB on laptop B, it will actually sync from laptop A successfully! However, every time when I run some GRAPH.QUERY, it will crash again. I will have to keep restarting.

hongbo-miao avatar May 03 '22 19:05 hongbo-miao