Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why does SET operation have slower performance than GET on redis-benchmark? #15

Closed
arbc139 opened this issue Feb 7, 2018 · 6 comments
Closed

Comments

@arbc139
Copy link

arbc139 commented Feb 7, 2018

I configured emulation version of pmem referring official blog.
link

And than, build & configure pmem/redis to use pmem.

# Build pmem/redis
$ make USE_PMDK=yes STD=-std=gnu99

# Set pmfile to our mounted pmem(emulation) in redis.conf
$ vim redis.conf
# pmfile /path/to/pmem-mount/redis.pm 1gb

...and run redis-server by this command.

$ ./src/redis-server redis.conf

then, server is executed well like this.
2018-02-07 12 56 43

I execute redis-benchmark for pmem/redis. Then I could see that SET operation has worse performance than GET operation.
2018-02-07 1 03 18

evaluated time to complete 100000 SET operation: 16.72 sec
evaluated time to complete 100000 GET operation: 0.63 sec

This is result of redis-benchmark on pmem/redis without using pmem.
2018-02-07 1 18 51

evaluated time to complete 100000 SET operation: 0.63 sec
evaluated time to complete 100000 GET operation: 0.63 sec

Without pmem, benchmark show that evaluated time to operation is same both GET and SET.
I just wonder why SET has worse performance than GET on pmem.
Is there any additional configuration for pmem/redis? (ex. CPU setup, cache setup, ...)

@jschmieg
Copy link

jschmieg commented Feb 7, 2018

Hi,
please ensure that you have PMEM_IS_PMEM_FORCE environment variable set when running redis-server:
PMEM_IS_PMEM_FORCE=1 ./app
http://pmem.io/2015/06/12/pmem-model.html
This will force PMDK to use clflush/clflushopt instruction instead of msync syscalls.

@Maciuch
Copy link

Maciuch commented Feb 7, 2018

PMEM_IS_PMEM_FORCE is one of the options, more like a temporary workaround.
Proper solution is to use recent addition to Linux Kernel, MAP_SYNC flag.
https://groups.google.com/forum/#!searchin/pmem/map_sync%7Csort:date/pmem/6QPs9fvr9cM/5T65M6K0AQAJ
It should come with 4.15 Kernel version, and will be supported nativly in PMDK soon as well.

@arbc139
Copy link
Author

arbc139 commented Feb 7, 2018

@jschmieg I tried to set PMEM_IS_PMEM=1 when running redis-server. But I found new error when running redis-benchmark.

I ran benchmark command like this.

$ redis-benchmark -t set-r 100000

then, redis-server was shutted down with this error logs.

=== REDIS BUG REPORT START: Cut & paste starting from here ===
3955:M 07 Feb 20:20:32.304 # Redis 3.2.703_NVML crashed by signal: 11
3955:M 07 Feb 20:20:32.304 # Crashed running the instuction at: 0x483d9b
3955:M 07 Feb 20:20:32.304 # Accessing address: 0x10
3955:M 07 Feb 20:20:32.304 # Failed assertion: <no assertion failed> (<no file>:0)

------ STACK TRACE ------
EIP:
./src/redis-server 127.0.0.1:6379(pmemKVpairSet+0x6b)[0x483d9b]

Backtrace:
./src/redis-server 127.0.0.1:6379(logStackTrace+0x29)[0x460bd9]
./src/redis-server 127.0.0.1:6379(sigsegvHandler+0xac)[0x46127c]
/lib64/libpthread.so.0(+0xf370)[0x7f284e7c5370]
./src/redis-server 127.0.0.1:6379(pmemKVpairSet+0x6b)[0x483d9b]
./src/redis-server 127.0.0.1:6379(dictReplacePM+0x6c)[0x425a9c]
./src/redis-server 127.0.0.1:6379(setKeyPM+0x25)[0x43d615]
./src/redis-server 127.0.0.1:6379(setGenericCommand+0x277)[0x447317]
./src/redis-server 127.0.0.1:6379(setCommand+0xff)[0x44749f]
./src/redis-server 127.0.0.1:6379(call+0x85)[0x429525]
./src/redis-server 127.0.0.1:6379(processCommand+0x367)[0x42c5c7]
./src/redis-server 127.0.0.1:6379(processInputBuffer+0x105)[0x439695]
./src/redis-server 127.0.0.1:6379(aeProcessEvents+0x218)[0x423708]
./src/redis-server 127.0.0.1:6379(aeMain+0x2b)[0x4239bb]
./src/redis-server 127.0.0.1:6379(main+0x432)[0x420992]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f284e416b35]
./src/redis-server 127.0.0.1:6379[0x420cb2]

------ INFO OUTPUT ------
# Server
redis_version:3.2.703_NVML
redis_git_sha1:1e7aa59a
redis_git_dirty:1
redis_build_id:df1b606fd524d056
redis_mode:standalone
os:Linux 4.15.0 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.5
process_id:3955
run_id:524be7e22b218bade2a85576abbea77d33e4c57b
tcp_port:6379
uptime_in_seconds:22
uptime_in_days:0
hz:10
lru_clock:8052992
executable:/home/totorody/redis-pmem/./src/redis-server
config_file:/home/totorody/redis-pmem/redis.conf

# Clients
connected_clients:50
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:43474048
used_memory_human:41.46M
used_memory_rss:26517504
used_memory_rss_human:25.29M
used_memory_peak:43474048
used_memory_peak_human:41.46M
total_system_memory:59005726720
total_system_memory_human:54.95G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:0.61
mem_allocator:jemalloc-4.4.0

# Persistence
loading:0
rdb_changes_since_last_save:30
rdb_bgsave_in_progress:0
rdb_last_save_time:1518002410
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
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

# Stats
total_connections_received:50
total_commands_processed:30
instantaneous_ops_per_sec:0
total_net_input_bytes:1395
total_net_output_bytes:70
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:0.03
used_cpu_user:0.04
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Commandstats
cmdstat_set:calls=30,usec=146,usec_per_call=4.87

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=95182,expires=0,avg_ttl=0
hash_init_value: 1517504791

------ CLIENT LIST OUTPUT ------
id=2 addr=127.0.0.1:42134 fd=5 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=3 addr=127.0.0.1:42136 fd=6 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=4 addr=127.0.0.1:42138 fd=7 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=5 addr=127.0.0.1:42140 fd=8 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=6 addr=127.0.0.1:42142 fd=9 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=7 addr=127.0.0.1:42144 fd=10 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=8 addr=127.0.0.1:42146 fd=11 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=9 addr=127.0.0.1:42148 fd=12 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=10 addr=127.0.0.1:42150 fd=13 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=11 addr=127.0.0.1:42152 fd=14 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=12 addr=127.0.0.1:42154 fd=15 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=13 addr=127.0.0.1:42156 fd=16 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=14 addr=127.0.0.1:42158 fd=17 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=15 addr=127.0.0.1:42160 fd=18 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=16 addr=127.0.0.1:42162 fd=19 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=17 addr=127.0.0.1:42164 fd=20 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=18 addr=127.0.0.1:42166 fd=21 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=19 addr=127.0.0.1:42168 fd=22 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=20 addr=127.0.0.1:42170 fd=23 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=21 addr=127.0.0.1:42172 fd=24 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=22 addr=127.0.0.1:42174 fd=25 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=23 addr=127.0.0.1:42176 fd=26 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=24 addr=127.0.0.1:42178 fd=27 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=25 addr=127.0.0.1:42180 fd=28 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=26 addr=127.0.0.1:42182 fd=29 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=27 addr=127.0.0.1:42184 fd=30 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=28 addr=127.0.0.1:42186 fd=31 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=29 addr=127.0.0.1:42188 fd=32 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=30 addr=127.0.0.1:42190 fd=33 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=31 addr=127.0.0.1:42192 fd=34 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=5 oll=0 omem=0 events=r cmd=set
id=32 addr=127.0.0.1:42194 fd=35 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
id=33 addr=127.0.0.1:42196 fd=36 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=34 addr=127.0.0.1:42198 fd=37 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=35 addr=127.0.0.1:42200 fd=38 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=36 addr=127.0.0.1:42202 fd=39 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=37 addr=127.0.0.1:42204 fd=40 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=38 addr=127.0.0.1:42206 fd=41 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=39 addr=127.0.0.1:42208 fd=42 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=40 addr=127.0.0.1:42210 fd=43 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=41 addr=127.0.0.1:42212 fd=44 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=42 addr=127.0.0.1:42214 fd=45 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=43 addr=127.0.0.1:42216 fd=46 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=44 addr=127.0.0.1:42218 fd=47 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=45 addr=127.0.0.1:42220 fd=48 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=46 addr=127.0.0.1:42222 fd=49 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=47 addr=127.0.0.1:42224 fd=50 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=48 addr=127.0.0.1:42226 fd=51 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=49 addr=127.0.0.1:42228 fd=52 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=50 addr=127.0.0.1:42230 fd=53 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL
id=51 addr=127.0.0.1:42232 fd=54 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=NULL

------ CURRENT CLIENT INFO ------
id=32 addr=127.0.0.1:42194 fd=35 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=set
argv[0]: 'SET'
argv[1]: 'key:000000000328'
argv[2]: 'xxx'
3955:M 07 Feb 20:20:32.304 # key 'key:000000000328' found in DB containing the following object:
3955:M 07 Feb 20:20:32.304 # Object type: 0
3955:M 07 Feb 20:20:32.304 # Object encoding: 0
3955:M 07 Feb 20:20:32.304 # Object refcount: 1
3955:M 07 Feb 20:20:32.304 # Object raw string len: 3
3955:M 07 Feb 20:20:32.304 # Object raw string content: "xxx"

------ REGISTERS ------
3955:M 07 Feb 20:20:32.304 #
RAX:a99a0d655335c1a4 RBX:ffffffffffffff40
RCX:ca6499b9a26dedca RDX:0000000000000000
RDI:0000000001b33cd0 RSI:00007f28440e160b
RBP:00007f28440e160b RSP:00007ffe112e0060
R8 :00007f284782b163 R9 :00000000fffffffd
R10:000000000000009d R11:00007f284e576750
R12:0000000000000000 R13:00000000004033e1
R14:00007f28440e15f8 R15:000000000000001e
RIP:0000000000483d9b EFL:0000000000010206
CSGSFS:002b000000000033
3955:M 07 Feb 20:20:32.304 # (00007ffe112e006f) -> 0000000000447317
3955:M 07 Feb 20:20:32.304 # (00007ffe112e006e) -> 00007f28441af620
3955:M 07 Feb 20:20:32.304 # (00007ffe112e006d) -> 00007f2843e76cc0
3955:M 07 Feb 20:20:32.304 # (00007ffe112e006c) -> 0000000000000000
3955:M 07 Feb 20:20:32.304 # (00007ffe112e006b) -> 000000000043d615
3955:M 07 Feb 20:20:32.304 # (00007ffe112e006a) -> 0000000000000000
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0069) -> 0000000000000000
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0068) -> 00007f28478aa6c0
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0067) -> 00007f284782b140
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0066) -> 00007f2847932000
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0065) -> 0000000000425a9c
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0064) -> 0000000000000000
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0063) -> 00007f28440e1628
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0062) -> 00007f28478aa6c0
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0061) -> 00007f28478191e0
3955:M 07 Feb 20:20:32.304 # (00007ffe112e0060) -> 00007f28478aa6c0

------ FAST MEMORY TEST ------
3955:M 07 Feb 20:20:32.304 # Bio thread for job type #0 terminated
3955:M 07 Feb 20:20:32.304 # Bio thread for job type #1 terminated
*** Preparing to test memory region 72f000 (94208 bytes)
*** Preparing to test memory region 169d000 (5001216 bytes)
*** Preparing to test memory region 7f2843c00000 (27262976 bytes)
*** Preparing to test memory region 7f28457ff000 (8388608 bytes)
*** Preparing to test memory region 7f2846000000 (8388608 bytes)
*** Preparing to test memory region 7f2846800000 (18874368 bytes)
*** Preparing to test memory region 7f284e000000 (2097152 bytes)
*** Preparing to test memory region 7f284e7b1000 (20480 bytes)
*** Preparing to test memory region 7f284e9ce000 (16384 bytes)
*** Preparing to test memory region 7f284ee0b000 (8192 bytes)
*** Preparing to test memory region 7f284f4db000 (188416 bytes)
*** Preparing to test memory region 7f284f52f000 (12288 bytes)
*** Preparing to test memory region 7f284f534000 (4096 bytes)
.O.O.O.O.O.O.O.O.O.O.O.O.O
Fast memory test PASSED, however your memory can still be broken. Please run a memory test for several hours if possible.

------ DUMPING CODE AROUND EIP ------
Symbol: pmemKVpairSet (base: 0x483d30)
Module: ./src/redis-server 127.0.0.1:6379 (base 0x400000)
$ xxd -r -p /tmp/dump.hex /tmp/dump.bin
$ objdump --adjust-vma=0x483d30 -D -b binary -m i386:x86-64 /tmp/dump.bin
------
3955:M 07 Feb 20:20:32.443 # dump of function (hexdump of 235 bytes):
41554989f5415455534883ec08e8fea0faff4c8b6008488b284d85e474724885ed746d488b1d96622a008b0590ae2a0064394310744a4889ef4c89e664894310e82bb1f9ff4885c064488903744a6448896b084901c4488b05e3c42a004c2ba8201a0000488b05edc42a0049894424104d896c24184883c4085b5d415c415dc36448396b0875af64488b03ebc60f1f004531e4ebc10f1f006448c74308000000004531e4ebb0662e0f1f84000000000041574989ffbf40000000415641554154554889f5534883ec18488b0588c42a00488b35b9bd2a004889442408488b055dc42a00488b80201a000049
Function at 0x42de40 is sdsPMEMoidBackReference

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

command without random key -r option killed redis-server, too.
I found that similar error logs in pmem repository.
pmem/issues#679

@Maciuch My kernel version is "CentOS 7 (4.15.0)" now. How can I set MAP_SYNC flag for this kernel? And, Is this flag option force to use clflush instead of msync syscalls?

@jschmieg
Copy link

jschmieg commented Feb 7, 2018

Could you please verify that:

  1. RDB and AOF modes are disabled in redis.conf when running in PMEM mode.
  2. Redis-server is not loading any DB from dump.rdb or AOF file at startup. Such files mustn't be present in redis/ or redis/src/ directory when running server.

@Maciuch
Copy link

Maciuch commented Feb 7, 2018

MAP_SYNC will be used by default by PMDK when available.
pmem/pmdk#2594
It should be merged soon into master, and officially released with 1.4 PMDK version.

Therefore no need to do anything from an application perspective, you can already now switch to a pull request branch from PMDK if you wish to test it, or wait a bit longer.

Cheers,
Maciek

@arbc139
Copy link
Author

arbc139 commented Feb 8, 2018

@jschmieg I figured out that dump.rdb was created because of running redis-server without conf.
So, I remove dump.rdb and write new config option save "" to turn off RDB mode in redis.conf. Also I set config option appendonly no to turn off AOF mode. Then, there is no error shown anymore.
Thank you for answer 👍

@Maciuch Thank you for detail explanation 👍

@arbc139 arbc139 closed this as completed Feb 9, 2018
michalbiesek pushed a commit to michalbiesek/redis that referenced this issue Jun 19, 2020
Back port memKeyDB to redis v3.2.12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants