While I have a in_memory perf test with MongoDB-v3.2.9 (wiredTiger v2.8.1). wtperf runners file looks like:
conn_config="cache_size=48G,in_memory=true,log=(enabled=false),file_manager=(close_idle_time=0),checkpoint=(wait=0,log_size=0),session_max=1024,statistics=(fast),statistics_log=(wait=5),eviction=(threads_max=4)"
#compression="snappy"
#sess_config="isolation=read-committed"
table_config="type=file,memory_page_max=64m,internal_page_max=256K,leaf_page_max=4m,leaf_value_max=64MB,cache_resident=true"
icount=1000000
key_sz=32
value_sz=32
max_latency=2000
populate_threads=24
report_interval=1
#random_value=true
#run_time=2
threads=((count=64,reads=1))
sample_interval=1
database_count=1
table_count=8
first of all. I run the command "wtperf -O in_memory.wtperf" with the "run_times" commenting. every thing is OK that population phase is done and wtperf exit. When I uncomment the "run_times" means that doing population phase first and execute "workload" after that. I got an error of "No such file or directory" and wtperf abort. The entire message is :
worker: WT_SESSION.open_cursor: table:test00000 Error: No such file or directory
so. I guess the table created at population phase is gone or never been seen by worker in "workload". And further investigation show that "close_reopen" is suspicious in wtperf.c line 2078 :
/*
- If we have a workload, close and reopen the connection so
- that LSM can detect read-only workloads.
*/
if (close_reopen(cfg) != 0)
goto err;
in_memory mode doesn't supply the support of LSM tree. That wouldn't be necessary here ?