mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-27 00:55:17 +00:00
122 lines
2.1 KiB
Plaintext
122 lines
2.1 KiB
Plaintext
|
# This set of tests validates that manually executed multi level compactions work
|
||
|
# The multilevel compaction tests mainly live in
|
||
|
# /testdata/compaction_setup_inputs_multilevel_write_amp
|
||
|
|
||
|
# A vanilla multi level compaction
|
||
|
define level-max-bytes=(L2 : 5) auto-compactions=off
|
||
|
L1
|
||
|
a.SET.3:v b.SET.2:v
|
||
|
L2
|
||
|
a.SET.2:v c.SET.4:v
|
||
|
L3
|
||
|
c.SET.3:v d.SET.2:v
|
||
|
L4
|
||
|
c.SET.2:v d.SET.1:v
|
||
|
----
|
||
|
1:
|
||
|
000004:[a#3,SET-b#2,SET]
|
||
|
2:
|
||
|
000005:[a#2,SET-c#4,SET]
|
||
|
3:
|
||
|
000006:[c#3,SET-d#2,SET]
|
||
|
4:
|
||
|
000007:[c#2,SET-d#1,SET]
|
||
|
|
||
|
compact a-b L1
|
||
|
----
|
||
|
3:
|
||
|
000008:[a#3,SET-d#2,SET]
|
||
|
4:
|
||
|
000007:[c#2,SET-d#1,SET]
|
||
|
|
||
|
# Conduct a multi level compaction with no output level files
|
||
|
define level-max-bytes=(L2 : 5) auto-compactions=off
|
||
|
L1
|
||
|
a.SET.3:v b.SET.2:v
|
||
|
L2
|
||
|
a.SET.2:v c.SET.4:v
|
||
|
L4
|
||
|
c.SET.2:v d.SET.1:v
|
||
|
----
|
||
|
1:
|
||
|
000004:[a#3,SET-b#2,SET]
|
||
|
2:
|
||
|
000005:[a#2,SET-c#4,SET]
|
||
|
4:
|
||
|
000006:[c#2,SET-d#1,SET]
|
||
|
|
||
|
compact a-b L1
|
||
|
----
|
||
|
3:
|
||
|
000007:[a#3,SET-c#4,SET]
|
||
|
4:
|
||
|
000006:[c#2,SET-d#1,SET]
|
||
|
|
||
|
# No multilevel compaction because a move to L2 results in less writeamp than the ML compaction
|
||
|
# which includes the file in L3.
|
||
|
define level-max-bytes=(L2 : 5) auto-compactions=off
|
||
|
L1
|
||
|
a.SET.3:v b.SET.2:v
|
||
|
L3
|
||
|
a.SET.2:v c.SET.4:v
|
||
|
L4
|
||
|
c.SET.2:v d.SET.1:v
|
||
|
----
|
||
|
1:
|
||
|
000004:[a#3,SET-b#2,SET]
|
||
|
3:
|
||
|
000005:[a#2,SET-c#4,SET]
|
||
|
4:
|
||
|
000006:[c#2,SET-d#1,SET]
|
||
|
|
||
|
compact a-b L1
|
||
|
----
|
||
|
2:
|
||
|
000004:[a#3,SET-b#2,SET]
|
||
|
3:
|
||
|
000005:[a#2,SET-c#4,SET]
|
||
|
4:
|
||
|
000006:[c#2,SET-d#1,SET]
|
||
|
|
||
|
# Conduct a multi input compaction without intermediate or output level, basically a move.
|
||
|
define level-max-bytes=(L2 : 5) auto-compactions=off multi-input-level
|
||
|
L1
|
||
|
a.SET.3:v b.SET.2:v
|
||
|
L4
|
||
|
c.SET.2:v d.SET.1:v
|
||
|
----
|
||
|
1:
|
||
|
000004:[a#3,SET-b#2,SET]
|
||
|
4:
|
||
|
000005:[c#2,SET-d#1,SET]
|
||
|
|
||
|
compact a-b L1
|
||
|
----
|
||
|
3:
|
||
|
000004:[a#3,SET-b#2,SET]
|
||
|
4:
|
||
|
000005:[c#2,SET-d#1,SET]
|
||
|
|
||
|
# Don't conduct a multi level compaction on L0.
|
||
|
define level-max-bytes=(L1 : 5) auto-compactions=off multi-input-level
|
||
|
L0
|
||
|
a.SET.1:v b.SET.2:v
|
||
|
L1
|
||
|
a.SET.3:v c.SET.4:v
|
||
|
L2
|
||
|
c.SET.2:v d.SET.2:v
|
||
|
----
|
||
|
0.0:
|
||
|
000004:[a#1,SET-b#2,SET]
|
||
|
1:
|
||
|
000005:[a#3,SET-c#4,SET]
|
||
|
2:
|
||
|
000006:[c#2,SET-d#2,SET]
|
||
|
|
||
|
compact a-b L0
|
||
|
----
|
||
|
1:
|
||
|
000007:[a#3,SET-c#4,SET]
|
||
|
2:
|
||
|
000006:[c#2,SET-d#2,SET]
|