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

173 lines
3.6 KiB
Plaintext

# Test a file L1.000203 that would be a candidate for a move compaction into
# L2, except that it's bordered by two files participating in the same
# compaction. This is possible if 000203 created by a L0->L1 compaction that
# completed after the compaction of 000201 and 000202 began.
#
# The in-progress compaction of 000201 and 000202 will write an output table
# to L2 that would conflict with 000203 if 000203 was moved into L2.
#
# NB: The L0 files are used to increase the permitted compaction concurrency.
define
L0
000301:a.SET.31-a.SET.31
000302:a.SET.32-a.SET.32
000303:a.SET.33-a.SET.33
000304:a.SET.34-a.SET.34
000305:a.SET.35-a.SET.35
L1
000201:a.SET.21-b.SET.22
000203:k.SET.25-n.SET.26 size=512000000
000202:x.SET.23-z.SET.24
L2
000101:a.SET.11-f.SET.12
L3
000010:a.SET.1-z.SET.2
compactions
L1 000201 000202 -> L2 000101
----
0.4:
000305:[a#35,SET-a#35,SET]
0.3:
000304:[a#34,SET-a#34,SET]
0.2:
000303:[a#33,SET-a#33,SET]
0.1:
000302:[a#32,SET-a#32,SET]
0.0:
000301:[a#31,SET-a#31,SET]
1:
000201:[a#21,SET-b#22,SET]
000203:[k#25,SET-n#26,SET]
000202:[x#23,SET-z#24,SET]
2:
000101:[a#11,SET-f#12,SET]
3:
000010:[a#1,SET-z#2,SET]
compactions
L1 000201 000202 -> L2 000101
pick-auto l0_compaction_threshold=10
----
nil
# Test that lowering L0CompactionConcurrency opens up more compaction slots.
define
L0
000301:a.SET.31-a.SET.31
000302:a.SET.32-a.SET.32
000303:a.SET.33-a.SET.33
000304:a.SET.34-a.SET.34
000305:a.SET.35-a.SET.35
L1
000201:a.SET.21-b.SET.22
000203:k.SET.25-n.SET.26
000202:x.SET.23-z.SET.24
L2
000101:a.SET.11-f.SET.12
L3
000010:a.SET.1-z.SET.2
compactions
L1 000202 -> L2 000101
----
0.4:
000305:[a#35,SET-a#35,SET]
0.3:
000304:[a#34,SET-a#34,SET]
0.2:
000303:[a#33,SET-a#33,SET]
0.1:
000302:[a#32,SET-a#32,SET]
0.0:
000301:[a#31,SET-a#31,SET]
1:
000201:[a#21,SET-b#22,SET]
000203:[k#25,SET-n#26,SET]
000202:[x#23,SET-z#24,SET]
2:
000101:[a#11,SET-f#12,SET]
3:
000010:[a#1,SET-z#2,SET]
compactions
L1 000202 -> L2 000101
pick-auto l0_compaction_concurrency=10
----
nil
pick-auto l0_compaction_concurrency=5
----
L0 -> L1
L0: 000301,000302,000303,000304,000305
L1: 000201
grandparents: 000101
pick-auto l0_compaction_concurrency=1
----
L0 -> L1
L0: 000301,000302,000303,000304,000305
L1: 000201
grandparents: 000101
# Test that lowering CompactionDebtConcurrency opens up more concurrent
# compaction slots.
# Test that lowering L0CompactionConcurrency opens up more compaction slots.
define
L0
000301:a.SET.31-a.SET.31 size=64000
000302:a.SET.32-a.SET.32 size=64000
000303:a.SET.33-a.SET.33 size=64000
000304:a.SET.34-a.SET.34 size=64000
000305:a.SET.35-a.SET.35 size=64000
L1
000201:a.SET.21-b.SET.22 size=640000
000203:k.SET.25-n.SET.26 size=640000
000202:x.SET.23-z.SET.24 size=640000
L2
000101:a.SET.11-f.SET.12 size=6400000
L3
000010:a.SET.1-z.SET.2
compactions
L1 000202 -> L2 000101
----
0.4:
000305:[a#35,SET-a#35,SET]
0.3:
000304:[a#34,SET-a#34,SET]
0.2:
000303:[a#33,SET-a#33,SET]
0.1:
000302:[a#32,SET-a#32,SET]
0.0:
000301:[a#31,SET-a#31,SET]
1:
000201:[a#21,SET-b#22,SET]
000203:[k#25,SET-n#26,SET]
000202:[x#23,SET-z#24,SET]
2:
000101:[a#11,SET-f#12,SET]
3:
000010:[a#1,SET-z#2,SET]
compactions
L1 000202 -> L2 000101
pick-auto l0_compaction_concurrency=10 compaction_debt_concurrency=5120000
----
nil
pick-auto l0_compaction_concurrency=10 compaction_debt_concurrency=512000
----
L0 -> L1
L0: 000301,000302,000303,000304,000305
L1: 000201
grandparents: 000101
pick-auto l0_compaction_concurrency=5 compaction_debt_concurrency=5120000
----
L0 -> L1
L0: 000301,000302,000303,000304,000305
L1: 000201
grandparents: 000101