ceremonyclient/pebble/testdata/compaction_picker_read_triggered

146 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

2024-01-03 07:31:42 +00:00
# Verify that pickAuto picks read triggered compactions that are scheduled and LSM is in good shape. This ensures
# that read triggered compactions are lower priority than score based ones. This also verifies that only the files
# within the range set in a readCompaction are chosen for compaction.
define
L5
000101:a.SET.11-f.SET.12 size=10
000102:g.SET.11-l.SET.12 size=10
L6
000010:a.SET.1-f.SET.2 size=100
000011:g.SET.1-l.SET.2 size=100
----
5:
000101:[a#11,SET-f#12,SET]
000102:[g#11,SET-l#12,SET]
6:
000010:[a#1,SET-f#2,SET]
000011:[g#1,SET-l#2,SET]
pick-auto
----
nil
add-read-compaction
5: a-f 000101
----
show-read-compactions
----
(level: 5, start: a, end: f)
pick-auto
----
L5 -> L6
L5: 000101
L6: 000010
show-read-compactions
----
(none)
# Verify that pickAuto does not pick read triggered compactions when the LSM is in bad shape and instead schedules a
# score-based one.
define
L5
000101:a.SET.11-f.SET.12 size=1000000000
L6
000010:a.SET.1-f.SET.2 size=1000000000
----
5:
000101:[a#11,SET-f#12,SET]
6:
000010:[a#1,SET-f#2,SET]
add-read-compaction
5: a-f 000101
----
show-read-compactions
----
(level: 5, start: a, end: f)
pick-auto
----
L5 -> L6
L5: 000101
L6: 000010
show-read-compactions
----
(level: 5, start: a, end: f)
# Verify that read compactions out of a level
# are disabled if the size ratio of level sizes
# is higher than what we want.
define
L5
000101:a.SET.11-f.SET.12 size=10
000102:g.SET.11-l.SET.12 size=10
L6
000010:a.SET.1-f.SET.2 size=100000000
000012:g.SET.1-l.SET.2 size=100
----
5:
000101:[a#11,SET-f#12,SET]
000102:[g#11,SET-l#12,SET]
6:
000010:[a#1,SET-f#2,SET]
000012:[g#1,SET-l#2,SET]
pick-auto
----
nil
add-read-compaction
5: a-f 000101
----
show-read-compactions
----
(level: 5, start: a, end: f)
pick-auto
----
nil
show-read-compactions
----
(none)
# Verify that wide read compactions are disabled.
define
L5
000101:a.SET.11-f.SET.12 size=5000000
000102:g.SET.11-l.SET.12 size=10
L6
000010:a.SET.1-f.SET.2 size=100000000
000012:g.SET.1-l.SET.2 size=100
----
5:
000101:[a#11,SET-f#12,SET]
000102:[g#11,SET-l#12,SET]
6:
000010:[a#1,SET-f#2,SET]
000012:[g#1,SET-l#2,SET]
pick-auto
----
nil
add-read-compaction
5: a-f 000101
----
show-read-compactions
----
(level: 5, start: a, end: f)
pick-auto
----
nil
show-read-compactions
----
(none)