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
Add option to PULSE test to create merge.txt file on bc_open()
Fix PULSE counterexample by filtering error messages.
C1 = [[{set,{var,6},
{call,bitcask_pulse,fork,
[[{init,{state,undefined,false,false,[]}},
{set,{not_var,7},
{not_call,bitcask_pulse,bc_open,
[false,{true,{231,280,114},1}]}},
{set,{not_var,10},
{not_call,bitcask_pulse,bc_close,[{not_var,7}]}},
{set,{not_var,11},
{not_call,bitcask_pulse,bc_open,
[false,{true,{170,447,173},1}]}},
{set,{not_var,13},
{not_call,bitcask_pulse,bc_close,[{not_var,11}]}},
{set,{not_var,15},
{not_call,bitcask_pulse,bc_open,
[false,{true,{258,18,280},1}]}}]]}},
{set,{var,7},
{call,bitcask_pulse,fork,
[[{init,{state,undefined,false,false,[]}},
{set,{not_var,2},
{not_call,bitcask_pulse,bc_open,
[false,{true,{246,472,469},1}]}},
{set,{not_var,3},
{not_call,bitcask_pulse,bc_close,[{not_var,2}]}},
{set,{not_var,6},
{not_call,bitcask_pulse,bc_open,
[false,{true,{73,166,183},1}]}},
{set,{not_var,7},
{not_call,bitcask_pulse,fold,[{not_var,6}]}}]]}},
{set,{var,8},
{call,bitcask_pulse,bc_open,[true,{true,{424,237,233},1}]}},
{set,{var,10},{call,bitcask_pulse,needs_merge,[{var,8}]}},
{set,{var,11},{call,bitcask_pulse,merge,[{var,8}]}},
{set,{var,12},{call,bitcask_pulse,delete,[{var,8},1]}},
{set,{var,13},{call,bitcask_pulse,merge,[{var,8}]}}],
{62806,53384,84006},
[{errors,[]}]].
eqc:check(bitcask_pulse:prop_pulse(), C1).
The error coming from error_logger & failing the property:
errors: failed
[{<0.23310.2>,"Invalid merge input file ~s, deleting : ~p",
["1399-272921-941361/merge.txt",enoent]}] /= []
This error message is not fatal, so ignore it.
Fix PULSE counterexample when merge's ReadableFiles is the empty list
C2 = [[{set,{var,2},
{call,bitcask_pulse,bc_open,[true,{true,{442,453,173},1}]}},
{set,{var,3},{call,bitcask_pulse,delete,[{var,2},1]}},
{set,{var,5},{call,bitcask_pulse,bc_close,[{var,2}]}},
{set,{var,8},
{call,bitcask_pulse,bc_open,
[true,{true,{172,181,201},100}]}},
{set,{var,9},{call,bitcask_pulse,fork_merge,[{var,8}]}},
{set,{var,11},{call,bitcask_pulse,fork_merge,[{var,8}]}}],
{41544,86022,14862},
[{errors,[]}]].
eqc:check(bitcask_pulse:prop_pulse(), C2).
The error from PULSE:
errors: failed
[{<0.27136.3>,"Failed to merge ~p: ~p\n",
[{["1399-274027-165496/1.bitcask.data"],[]},
{function_clause,
[{lists,min,[[]],[{file,"lists.erl"},{line,300}]},
{bitcask,merge1,4,[{file,"src/bitcask.erl"},{line,611}]},
{bitcask_merge_worker,do_merge,1,
[{file,"src/bitcask_merge_worker.erl"},{line,195}]}]}]}] /= []
Fix for Buildbot EUnit test failure
Buildbot isn't quite right in the head: I've no idea why I can
run this test 3000x without failure, but Buildbot fails
bitcask_qc: merge2_test...
=ERROR REPORT==== 5-May-2014::04:56:18 ===
** Generic server <0.2324.0> terminating
** Last message in was {'DOWN',#Ref<0.0.0.50927>,process,<0.2317.0>,normal}
** When Server state == {state,undefined,undefined}
** Reason for termination ==
** {{badmatch,{error,badarg}},
[{bitcask_file,handle_info,2,[{file,"src/bitcask_file.erl"},{line,193}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,604}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}
Fix: Really, we're stopping, so change the pattern match to '_' so we
don't care.
Fix Dialyzer type typo
Fix Buildbot timeout error
bitcask: merge_batch_test...*timed out*
Increase timeout to something even a Buildbot can love.
0 commit comments