ceremonyclient/pebble/internal/manifest/testdata/version_check_ordering
Cassandra Heart 2e2a1e4789
v1.2.0 (#31)
2024-01-03 01:31:42 -06:00

303 lines
8.0 KiB
Plaintext

# Note: when specifying test cases with tables in L0, the L0 files should be
# specified in seqnum descending order, as the test case input is parsed as the
# inverse of `(*FileMetadata).DebugString`.
check-ordering
0:
000001:[a#1,SET-b#2,SET]
----
OK
check-ordering
0:
000002:[c#3,SET-d#4,SET]
000001:[a#1,SET-b#2,SET]
----
OK
check-ordering
0:
000002:[a#1,SET-b#2,SET]
000001:[c#3,SET-d#4,SET]
----
L0 files 000001 and 000002 are not properly ordered: <#3-#4> vs <#1-#2>
0.0:
000002:[a#1,SET-b#2,SET] seqnums:[1-2] points:[a#1,SET-b#2,SET]
000001:[c#3,SET-d#4,SET] seqnums:[3-4] points:[c#3,SET-d#4,SET]
check-ordering
0:
000008:[k#16,SET-n#19,SET]
000007:[a#14,SET-j#17,SET]
000006:[b#15,SET-d#15,SET]
000005:[i#8,SET-j#13,SET]
000004:[g#6,SET-h#12,SET]
000003:[e#2,SET-f#7,SET]
000002:[a#1,SET-b#5,SET]
000001:[c#3,SET-d#4,SET]
----
OK
# Add some ingested SSTables around the 14-19 seqnum cases.
check-ordering
0:
000010:[m#20,SET-n#20,SET]
000009:[k#16,SET-n#19,SET]
000008:[m#18,SET-n#18,SET]
000007:[a#14,SET-j#17,SET]
000006:[b#15,SET-d#15,SET]
000005:[i#8,SET-j#13,SET]
000004:[g#6,SET-h#12,SET]
000003:[e#2,SET-f#7,SET]
000002:[a#1,SET-b#5,SET]
000001:[c#3,SET-d#4,SET]
----
OK
# Coincident sequence numbers around sstables with overlapping sequence numbers
# are possible due to flush splitting, so this is acceptable.
check-ordering
0:
000010:[m#20,SET-n#20,SET]
000009:[k#16,SET-n#19,SET]
000008:[m#18,SET-n#18,SET]
000007:[a#15,SET-j#17,SET]
000006:[b#15,SET-d#15,SET]
000005:[i#8,SET-j#13,SET]
000004:[g#6,SET-h#12,SET]
000003:[e#2,SET-f#7,SET]
000002:[a#1,SET-b#5,SET]
000001:[c#3,SET-d#4,SET]
----
OK
# Ensure that sstables passed in a non-sorted order are detected.
check-ordering
0:
000002:[a#1,SET-b#2,SET]
000001:[a#3,SET-d#3,SET]
----
L0 files 000001 and 000002 are not properly ordered: <#3-#3> vs <#1-#2>
0.1:
000002:[a#1,SET-b#2,SET] seqnums:[1-2] points:[a#1,SET-b#2,SET]
0.0:
000001:[a#3,SET-d#3,SET] seqnums:[3-3] points:[a#3,SET-d#3,SET]
check-ordering
0:
000002:[a#3,SET-b#3,SET]
000001:[a#2,SET-d#4,SET]
----
L0 files 000001 and 000002 are not properly ordered: <#2-#4> vs <#3-#3>
0.1:
000002:[a#3,SET-b#3,SET] seqnums:[3-3] points:[a#3,SET-b#3,SET]
0.0:
000001:[a#2,SET-d#4,SET] seqnums:[2-4] points:[a#2,SET-d#4,SET]
check-ordering
0:
000002:[a#3,SET-b#3,SET]
000001:[a#3,SET-d#3,SET]
----
OK
check-ordering
0:
000002:[a#3,SET-d#5,SET]
000001:[a#3,SET-d#3,SET]
----
OK
check-ordering
0:
000002:[a#3,SET-d#5,SET]
000001:[a#4,SET-d#4,SET]
----
OK
check-ordering
0:
000002:[a#5,SET-d#5,SET]
000001:[a#3,SET-d#5,SET]
----
OK
check-ordering
0:
000003:[a#4,SET-d#6,SET]
000002:[a#5,SET-d#5,SET]
000001:[a#4,SET-d#4,SET]
----
OK
check-ordering
0:
000003:[a#0,SET-d#3,SET]
000002:[a#0,SET-d#0,SET]
000001:[a#0,SET-d#0,SET]
----
OK
check-ordering
1:
000001:[a#1,SET-b#2,SET]
----
OK
check-ordering
1:
000001:[b#1,SET-a#2,SET]
----
L1 : file 000001 has inconsistent bounds: b#1,SET vs a#2,SET
1:
000001:[b#1,SET-a#2,SET] seqnums:[0-0] points:[b#1,SET-a#2,SET]
check-ordering
1:
000001:[a#1,SET-b#2,SET]
000002:[c#3,SET-d#4,SET]
----
OK
check-ordering
1:
000001:[a#1,SET-b#2,SET]
000002:[d#3,SET-c#4,SET]
----
L1 : file 000002 has inconsistent bounds: d#3,SET vs c#4,SET
1:
000001:[a#1,SET-b#2,SET] seqnums:[0-0] points:[a#1,SET-b#2,SET]
000002:[d#3,SET-c#4,SET] seqnums:[0-0] points:[d#3,SET-c#4,SET]
check-ordering
1:
000001:[a#1,SET-b#2,SET]
000002:[b#1,SET-d#4,SET]
----
L1 files 000001 and 000002 have overlapping ranges: [a#1,SET-b#2,SET] vs [b#1,SET-d#4,SET]
1:
000001:[a#1,SET-b#2,SET] seqnums:[0-0] points:[a#1,SET-b#2,SET]
000002:[b#1,SET-d#4,SET] seqnums:[0-0] points:[b#1,SET-d#4,SET]
check-ordering allow-split-user-keys
1:
000001:[a#1,SET-b#2,SET]
000002:[b#1,SET-d#4,SET]
----
OK
check-ordering
1:
000001:[a#1,SET-b#2,SET]
000002:[b#2,SET-d#4,SET]
----
L1 files 000001 and 000002 have overlapping ranges: [a#1,SET-b#2,SET] vs [b#2,SET-d#4,SET]
1:
000001:[a#1,SET-b#2,SET] seqnums:[0-0] points:[a#1,SET-b#2,SET]
000002:[b#2,SET-d#4,SET] seqnums:[0-0] points:[b#2,SET-d#4,SET]
check-ordering
1:
000001:[a#1,SET-c#2,SET]
000002:[b#3,SET-d#4,SET]
----
L1 files 000001 and 000002 have overlapping ranges: [a#1,SET-c#2,SET] vs [b#3,SET-d#4,SET]
1:
000001:[a#1,SET-c#2,SET] seqnums:[0-0] points:[a#1,SET-c#2,SET]
000002:[b#3,SET-d#4,SET] seqnums:[0-0] points:[b#3,SET-d#4,SET]
check-ordering
1:
000001:[a#1,SET-c#2,SET]
2:
000002:[b#3,SET-d#4,SET]
----
OK
check-ordering
1:
000001:[a#1,SET-c#2,SET]
2:
000002:[b#3,SET-d#4,SET]
000003:[c#5,SET-e#6,SET]
----
L2 files 000002 and 000003 have overlapping ranges: [b#3,SET-d#4,SET] vs [c#5,SET-e#6,SET]
1:
000001:[a#1,SET-c#2,SET] seqnums:[0-0] points:[a#1,SET-c#2,SET]
2:
000002:[b#3,SET-d#4,SET] seqnums:[0-0] points:[b#3,SET-d#4,SET]
000003:[c#5,SET-e#6,SET] seqnums:[0-0] points:[c#5,SET-e#6,SET]
# Ordering considers tables with just range keys.
check-ordering
0:
000002:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET] ranges:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET]
000001:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
----
OK
check-ordering
0:
000002:[c#1,RANGEKEYSET-d#inf,RANGEKEYSET] ranges:[c#1,RANGEKEYSET-d#inf,RANGEKEYSET]
000001:[a#3,RANGEKEYSET-b#inf,RANGEKEYSET] ranges:[a#3,RANGEKEYSET-b#inf,RANGEKEYSET]
----
L0 files 000001 and 000002 are not properly ordered: <#3-#72057594037927935> vs <#1-#72057594037927935>
0.0:
000001:[a#3,RANGEKEYSET-b#inf,RANGEKEYSET] seqnums:[3-72057594037927935] ranges:[a#3,RANGEKEYSET-b#inf,RANGEKEYSET]
000002:[c#1,RANGEKEYSET-d#inf,RANGEKEYSET] seqnums:[1-72057594037927935] ranges:[c#1,RANGEKEYSET-d#inf,RANGEKEYSET]
check-ordering
1:
000001:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
000002:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET] ranges:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET]
----
OK
check-ordering
1:
000001:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET] ranges:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET]
000002:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
----
L1 files 000001 and 000002 are not properly ordered: [c#3,RANGEKEYSET-d#inf,RANGEKEYSET] vs [a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
1:
000001:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET] seqnums:[0-0] ranges:[c#3,RANGEKEYSET-d#inf,RANGEKEYSET]
000002:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET] seqnums:[0-0] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
# Ordering considers tables with both point and range keys.
check-ordering
0:
000002:[c#1,RANGEKEYSET-e#4,SET] points:[d#3,SET-e#4,SET] ranges:[c#1,RANGEKEYSET-d#inf,RANGEKEYSET]
000001:[a#1,RANGEKEYSET-c#2,SET] points:[b#1,SET-c#2,SET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
----
OK
check-ordering
0:
000002:[c#1,RANGEKEYSET-e#2,SET] points:[d#3,SET-e#2,SET] ranges:[c#1,RANGEKEYSET-d#inf,RANGEKEYSET]
000001:[a#1,RANGEKEYSET-c#4,SET] points:[b#1,SET-c#4,SET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
----
L0 files 000001 and 000002 are not properly ordered: <#1-#4> vs <#1-#2>
0.1:
000002:[c#1,RANGEKEYSET-e#2,SET] seqnums:[1-2] points:[d#3,SET-e#2,SET] ranges:[c#1,RANGEKEYSET-d#inf,RANGEKEYSET]
0.0:
000001:[a#1,RANGEKEYSET-c#4,SET] seqnums:[1-4] points:[b#1,SET-c#4,SET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
check-ordering
1:
000001:[a#1,RANGEKEYSET-c#2,SET] points:[b#1,SET-c#2,SET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
000002:[d#3,RANGEKEYSET-f#4,SET] points:[e#3,SET-f#4,SET] ranges:[d#3,RANGEKEYSET-e#inf,RANGEKEYSET]
----
OK
check-ordering
1:
000001:[a#1,RANGEKEYSET-c#2,SET] points:[b#1,SET-c#2,SET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
000002:[c#3,RANGEKEYSET-f#4,SET] points:[e#3,SET-f#4,SET] ranges:[c#3,RANGEKEYSET-e#inf,RANGEKEYSET]
----
L1 files 000001 and 000002 have overlapping ranges: [a#1,RANGEKEYSET-c#2,SET] vs [c#3,RANGEKEYSET-f#4,SET]
1:
000001:[a#1,RANGEKEYSET-c#2,SET] seqnums:[0-0] points:[b#1,SET-c#2,SET] ranges:[a#1,RANGEKEYSET-b#inf,RANGEKEYSET]
000002:[c#3,RANGEKEYSET-f#4,SET] seqnums:[0-0] points:[e#3,SET-f#4,SET] ranges:[c#3,RANGEKEYSET-e#inf,RANGEKEYSET]