ceremonyclient/pebble/testdata/compaction_picker_scores

265 lines
5.2 KiB
Plaintext
Raw Permalink Normal View History

2024-01-03 07:31:42 +00:00
# Ensure that a range deletion in a higher level results in a compensated level
# size and a higher level score as a result.
define lbase-max-bytes=65536 enable-table-stats=false
L5
a.RANGEDEL.2:f
L6
a.SET.1:<rand-bytes=65536>
b.SET.1:<rand-bytes=65536>
c.SET.1:<rand-bytes=65536>
d.SET.1:<rand-bytes=65536>
e.SET.1:<rand-bytes=65536>
----
5:
000004:[a#2,RANGEDEL-f#inf,RANGEDEL]
6:
000005:[a#1,SET-e#1,SET]
scores
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 729B 0.0
L6 321KB -
enable-table-stats
----
wait-pending-table-stats
000004
----
num-entries: 1
num-deletions: 1
num-range-key-sets: 0
point-deletions-bytes-estimate: 0
range-deletions-bytes-estimate: 328519
scores
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 729B 4.5
L6 321KB -
# Ensure that point deletions in a higher level result in a compensated level
# size and higher level scores as a result.
define lbase-max-bytes=65536 enable-table-stats=false
L5
a.DEL.2:
b.DEL.2:
c.DEL.2:
d.DEL.2:
e.DEL.2:
L6
a.SET.1:<rand-bytes=65536>
b.SET.1:<rand-bytes=65536>
c.SET.1:<rand-bytes=65536>
d.SET.1:<rand-bytes=65536>
e.SET.1:<rand-bytes=65536>
----
5:
000004:[a#2,DEL-e#2,DEL]
6:
000005:[a#1,SET-e#1,SET]
scores
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 715B 0.0
L6 321KB -
enable-table-stats
----
wait-pending-table-stats
000004
----
num-entries: 5
num-deletions: 5
num-range-key-sets: 0
point-deletions-bytes-estimate: 164581
range-deletions-bytes-estimate: 0
scores
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 715B 2.3
L6 321KB -
# Run a similar test as above, but this time the table containing the DELs is
# ingested after the database is initialized. When the ingested sstable's stats
# are loaded and automatic compactions are re-enabled, it should trigger an
# automatic compaction of the ingested sstable on account of the high
# point-deletions-bytes-estimate value.
#
# This a regression test for an issue where the table stats collector wouldn't
# attempt to schedule a compaction if a file only had compensation due to point
# deletions and not range deletions.
define lbase-max-bytes=65536 enable-table-stats=true auto-compactions=off
L6
a.SET.1:<rand-bytes=65536>
b.SET.1:<rand-bytes=65536>
c.SET.1:<rand-bytes=65536>
d.SET.1:<rand-bytes=65536>
e.SET.1:<rand-bytes=65536>
----
6:
000004:[a#1,SET-e#1,SET]
ingest ext1
del a:
del b:
del c:
del d:
del e:
----
5:
000005:[a:#10,DEL-e:#10,DEL]
6:
000004:[a#1,SET-e#1,SET]
wait-pending-table-stats
000005
----
num-entries: 5
num-deletions: 5
num-range-key-sets: 0
point-deletions-bytes-estimate: 164616
range-deletions-bytes-estimate: 0
maybe-compact
----
1 compactions in progress:
5: 000005:a:#10,0-e:#10,0
6: 000004:a#1,1-e#1,1
scores
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 0B 0.0
L6 321KB -
lsm
----
6:
000006:[a#0,SET-e#0,SET]
# Test the adjustment of level sizes to accommodate in-progress compactions. A
# compaction may be "inProgress" if it's already been applied, but is still
# deleting obsolete files. These compactions' effects have already been applied
# to the LSM, so size adjustment should ignore them and not doubly adjust sizes.
define lbase-max-bytes=65536 enable-table-stats=false auto-compactions=on pause-cleaning
L5
aa.SET.2:<rand-bytes=131072>
bb.SET.2:<rand-bytes=131072>
cc.SET.2:<rand-bytes=131072>
dd.SET.2:<rand-bytes=131072>
L5
e.SET.2:<rand-bytes=131072>
L6
a.SET.1:<rand-bytes=65536>
b.SET.1:<rand-bytes=65536>
c.SET.1:<rand-bytes=65536>
d.SET.1:<rand-bytes=65536>
L6
e.SET.1:<rand-bytes=131072>
----
5:
000004:[aa#2,SET-dd#2,SET]
000005:[e#2,SET-e#2,SET]
6:
000006:[a#1,SET-d#1,SET]
000007:[e#1,SET-e#1,SET]
scores
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 641KB 6.3
L6 385KB -
lsm verbose
----
5:
000004:[aa#2,SET-dd#2,SET] seqnums:[2-2] points:[aa#2,SET-dd#2,SET]
000005:[e#2,SET-e#2,SET] seqnums:[2-2] points:[e#2,SET-e#2,SET]
6:
000006:[a#1,SET-d#1,SET] seqnums:[1-1] points:[a#1,SET-d#1,SET]
000007:[e#1,SET-e#1,SET] seqnums:[1-1] points:[e#1,SET-e#1,SET]
# Attempting to schedule a compaction should begin a L5->L6 compaction.
maybe-compact
----
1 compactions in progress:
5: 000004:aa#2,1-dd#2,1
6: 000006:a#1,1-d#1,1
# The scores and sizes should be stable between when the version edit has been
# applied but the compaction has not completed, and when the compaction is
# finally complete.
scores wait-for-compaction=version-edit
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 129KB 0.5
L6 898KB -
lsm
----
5:
000005:[e#2,SET-e#2,SET]
6:
000008:[a#0,SET-dd#0,SET]
000007:[e#1,SET-e#1,SET]
resume-cleaning
----
scores wait-for-compaction=completion
----
L Size Score
L0 0B 0.0
L1 0B 0.0
L2 0B 0.0
L3 0B 0.0
L4 0B 0.0
L5 129KB 0.5
L6 898KB -