The following test case is suspicious, because even though we fold with snapshot true we don't seem to get the keys from only the snapshot.
leveledjc_eqc:init_backend(o_rkv,
[{root_path, Dir}, {log_level, error}, {max_sstslots, 2},
{cache_size, 10}, {max_pencillercachesize, 40},
{max_journalsize, 20000}],
sut) ->
<0.2667.0>
leveledjc_eqc:put(<0.2667.0>, <<98, 117, 99, 107, 101, 116, 51>>,
<<227, 142, 0, 237, 130, 199, 37, 238, 62, 225, 139, 160, 158,
68, 105, 142>>,
<<53, 1, 0, 0, 0, 43, 131,....>>,
[], o_rkv) ->
ok
Normal start, putting 1 object. Note that object has 43 and 131 in it to distinguish it later on.
Then:
leveledjc_eqc:objectfold(<0.2667.0>, o_rkv, {#Fun<leveledjc_eqc.30.5533705>, []},
true, sqn_order, 4) ->
#Fun<leveled_runner.10.98249213>
leveledjc_eqc:put(<0.2667.0>, <<98, 117, 99, 107, 101, 116, 51>>,
<<227, 142, 0, 237, 130, 199, 37, 238, 62, 225, 139, 160, 158,
68, 105, 142>>,
<<53, 1, 0, 0, 0, 78, 131,...>>, [], o_rkv) -> ok
Start an object fold in sequence order with SNAPSHOT true! After that, with same bucket and key add a new object. Note the 78, 131 there.
If we now run the fold, the implementation returns:
leveledjc_eqc:fold_run(4, #Fun<leveled_runner.10.98249213>) ->
[{<<98, 117, 99, 107, 101, 116, 51>>,
<<227, 142, 0, 237, 130, 199, 37, 238, 62, 225, 139, 160, 158,
68, 105, 142>>,
<<53, 1, 0, 0, 0, 78, 131,...>>},
{<<98, 117, 99, 107, 101, 116, 51>>,
<<227, 142, 0, 237, 130, 199, 37, 238, 62, 225, 139, 160, 158,
68, 105, 142>>,
<<53, 1, 0, 0, 0, 43, 131, ...>>}]
Thus both objects. This surprises me a bit, I had expected to only get the object back from the snapshot moment.
The following test case is suspicious, because even though we fold with snapshot
truewe don't seem to get the keys from only the snapshot.Normal start, putting 1 object. Note that object has 43 and 131 in it to distinguish it later on.
Then:
Start an object fold in sequence order with SNAPSHOT true! After that, with same bucket and key add a new object. Note the 78, 131 there.
If we now run the fold, the implementation returns:
Thus both objects. This surprises me a bit, I had expected to only get the object back from the snapshot moment.