mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-27 09:05:18 +00:00
117 lines
4.1 KiB
Plaintext
117 lines
4.1 KiB
Plaintext
|
|
# Test snapshot striping and coalescing.
|
|
|
|
transform snapshots=(5,10,15) disable-elision
|
|
a-c:{(#9,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#9,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3)}
|
|
|
|
transform snapshots=(5,10,15) disable-elision
|
|
a-c:{(#9,RANGEKEYUNSET,@3) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#9,RANGEKEYUNSET,@3) (#4,RANGEKEYSET,@3,foo3)}
|
|
|
|
transform snapshots=(5,10,15) disable-elision
|
|
a-c:{(#9,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#9,RANGEKEYDEL) (#4,RANGEKEYSET,@3,foo3)}
|
|
|
|
transform snapshots=(5,10,15) disable-elision
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3)}
|
|
|
|
transform disable-elision
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYDEL)}
|
|
|
|
# Test that elision works on the last snapshot stripe.
|
|
|
|
transform snapshots=(5,10,15)
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3)}
|
|
|
|
transform snapshots=(3,10,15)
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYUNSET,@4) (#2,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#3,RANGEKEYUNSET,@4) (#2,RANGEKEYSET,@3,foo2)}
|
|
|
|
transform snapshots=(2,10,15)
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYUNSET,@4) (#2,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5)}
|
|
|
|
# The RANGEKEYDEL deletes all underlying keys and there are no snapshots or
|
|
# in-use key ranges at play, so all keys should empty out.
|
|
|
|
transform
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{}
|
|
|
|
# Test RANGEKEYDELs are preserved over in-use key ranges in the last snapshot stripe.
|
|
# in-use key ranges cover keys that exist in lower levels of the LSM, so dropping
|
|
# range keys in that space could cause correctness issues.
|
|
|
|
transform in-use-key-ranges=(b-d)
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYDEL)}
|
|
|
|
# Test RANGEKEYSETs are preserved in the non-last snapshot stripe.
|
|
|
|
transform in-use-key-ranges=(b-d) snapshots=(8)
|
|
a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYDEL) (#4,RANGEKEYSET,@3,foo3)}
|
|
|
|
transform
|
|
a-c:{(#13,RANGEKEYSET,@3,bar1) (#12,RANGEKEYSET,@2,bar2) (#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#13,RANGEKEYSET,@3,bar1) (#12,RANGEKEYSET,@2,bar2)}
|
|
|
|
# Test RANGEKEYUNSETs are preserved over in-use key ranges.
|
|
|
|
transform
|
|
a-c:{(#11,RANGEKEYUNSET,@3) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{}
|
|
|
|
transform in-use-key-ranges=(b-d)
|
|
a-c:{(#11,RANGEKEYUNSET,@3) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
|
|
----
|
|
a-c:{(#11,RANGEKEYUNSET,@3)}
|
|
|
|
# Test cases where multiple keys have the same sequence number.
|
|
|
|
transform
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@4) (#11,RANGEKEYDEL)}
|
|
----
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5)}
|
|
|
|
transform
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@3) (#11,RANGEKEYDEL)}
|
|
----
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5)}
|
|
|
|
# Test that UNSETs and DELs are retained over in-use key ranges.
|
|
|
|
transform in-use-key-ranges=(b-d)
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@4) (#11,RANGEKEYDEL)}
|
|
----
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@4) (#11,RANGEKEYDEL)}
|
|
|
|
# Test that sets shadow unset at the same prefix, even if elision is disabled.
|
|
|
|
transform in-use-key-ranges=(b-d)
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@3) (#11,RANGEKEYDEL)}
|
|
----
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYDEL)}
|
|
|
|
transform disable-elision
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@3) (#11,RANGEKEYDEL)
|
|
----
|
|
a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYDEL)}
|