mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-11-04 14:17:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			812 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			812 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
open db
 | 
						|
----
 | 
						|
mkdir-all: db 0755
 | 
						|
open-dir: db
 | 
						|
lock: db/LOCK
 | 
						|
open-dir: db
 | 
						|
open-dir: db
 | 
						|
open: db/CURRENT
 | 
						|
create: db/MANIFEST-000001
 | 
						|
sync: db/MANIFEST-000001
 | 
						|
remove: db/temporary.000001.dbtmp
 | 
						|
create: db/temporary.000001.dbtmp
 | 
						|
sync: db/temporary.000001.dbtmp
 | 
						|
close: db/temporary.000001.dbtmp
 | 
						|
rename: db/temporary.000001.dbtmp -> db/CURRENT
 | 
						|
sync: db
 | 
						|
open-dir: db
 | 
						|
sync: db/MANIFEST-000001
 | 
						|
create: db/000002.log
 | 
						|
sync: db
 | 
						|
create: db/marker.manifest.000001.MANIFEST-000001
 | 
						|
close: db/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000001.002
 | 
						|
close: db/marker.format-version.000001.002
 | 
						|
sync: db
 | 
						|
remove: db/temporary.000000.dbtmp
 | 
						|
create: db/temporary.000000.dbtmp
 | 
						|
sync: db/temporary.000000.dbtmp
 | 
						|
close: db/temporary.000000.dbtmp
 | 
						|
rename: db/temporary.000000.dbtmp -> db/CURRENT
 | 
						|
create: db/marker.format-version.000002.003
 | 
						|
close: db/marker.format-version.000002.003
 | 
						|
remove: db/marker.format-version.000001.002
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000003.004
 | 
						|
close: db/marker.format-version.000003.004
 | 
						|
remove: db/marker.format-version.000002.003
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000004.005
 | 
						|
close: db/marker.format-version.000004.005
 | 
						|
remove: db/marker.format-version.000003.004
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000005.006
 | 
						|
close: db/marker.format-version.000005.006
 | 
						|
remove: db/marker.format-version.000004.005
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000006.007
 | 
						|
close: db/marker.format-version.000006.007
 | 
						|
remove: db/marker.format-version.000005.006
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000007.008
 | 
						|
close: db/marker.format-version.000007.008
 | 
						|
remove: db/marker.format-version.000006.007
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000008.009
 | 
						|
close: db/marker.format-version.000008.009
 | 
						|
remove: db/marker.format-version.000007.008
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000009.010
 | 
						|
close: db/marker.format-version.000009.010
 | 
						|
remove: db/marker.format-version.000008.009
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000010.011
 | 
						|
close: db/marker.format-version.000010.011
 | 
						|
remove: db/marker.format-version.000009.010
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000011.012
 | 
						|
close: db/marker.format-version.000011.012
 | 
						|
remove: db/marker.format-version.000010.011
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000012.013
 | 
						|
close: db/marker.format-version.000012.013
 | 
						|
remove: db/marker.format-version.000011.012
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000013.014
 | 
						|
close: db/marker.format-version.000013.014
 | 
						|
remove: db/marker.format-version.000012.013
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000014.015
 | 
						|
close: db/marker.format-version.000014.015
 | 
						|
remove: db/marker.format-version.000013.014
 | 
						|
sync: db
 | 
						|
create: db/marker.format-version.000015.016
 | 
						|
close: db/marker.format-version.000015.016
 | 
						|
remove: db/marker.format-version.000014.015
 | 
						|
sync: db
 | 
						|
create: db/temporary.000003.dbtmp
 | 
						|
sync: db/temporary.000003.dbtmp
 | 
						|
close: db/temporary.000003.dbtmp
 | 
						|
rename: db/temporary.000003.dbtmp -> db/OPTIONS-000003
 | 
						|
sync: db
 | 
						|
 | 
						|
batch db
 | 
						|
set a 1
 | 
						|
set b 2
 | 
						|
set c 3
 | 
						|
----
 | 
						|
sync-data: db/000002.log
 | 
						|
 | 
						|
flush db
 | 
						|
----
 | 
						|
sync-data: db/000002.log
 | 
						|
close: db/000002.log
 | 
						|
create: db/000004.log
 | 
						|
sync: db
 | 
						|
create: db/000005.sst
 | 
						|
sync-data: db/000005.sst
 | 
						|
close: db/000005.sst
 | 
						|
sync: db
 | 
						|
sync: db/MANIFEST-000001
 | 
						|
 | 
						|
batch db
 | 
						|
set b 5
 | 
						|
set d 7
 | 
						|
set e 8
 | 
						|
----
 | 
						|
sync-data: db/000004.log
 | 
						|
 | 
						|
flush db
 | 
						|
----
 | 
						|
sync-data: db/000004.log
 | 
						|
close: db/000004.log
 | 
						|
reuseForWrite: db/000002.log -> db/000006.log
 | 
						|
sync: db
 | 
						|
create: db/000007.sst
 | 
						|
sync-data: db/000007.sst
 | 
						|
close: db/000007.sst
 | 
						|
sync: db
 | 
						|
sync: db/MANIFEST-000001
 | 
						|
 | 
						|
batch db
 | 
						|
set f 9
 | 
						|
set g 10
 | 
						|
----
 | 
						|
sync-data: db/000006.log
 | 
						|
 | 
						|
checkpoint db checkpoints/checkpoint1
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint1 0755
 | 
						|
open-dir: checkpoints
 | 
						|
sync: checkpoints
 | 
						|
close: checkpoints
 | 
						|
open-dir: 
 | 
						|
sync: 
 | 
						|
close: 
 | 
						|
open-dir: checkpoints/checkpoint1
 | 
						|
link: db/OPTIONS-000003 -> checkpoints/checkpoint1/OPTIONS-000003
 | 
						|
open-dir: checkpoints/checkpoint1
 | 
						|
create: checkpoints/checkpoint1/marker.format-version.000001.016
 | 
						|
sync-data: checkpoints/checkpoint1/marker.format-version.000001.016
 | 
						|
close: checkpoints/checkpoint1/marker.format-version.000001.016
 | 
						|
sync: checkpoints/checkpoint1
 | 
						|
close: checkpoints/checkpoint1
 | 
						|
link: db/000005.sst -> checkpoints/checkpoint1/000005.sst
 | 
						|
link: db/000007.sst -> checkpoints/checkpoint1/000007.sst
 | 
						|
open: db/MANIFEST-000001
 | 
						|
create: checkpoints/checkpoint1/MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint1/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint1/MANIFEST-000001
 | 
						|
close: db/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint1
 | 
						|
create: checkpoints/checkpoint1/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint1/marker.manifest.000001.MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint1/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint1
 | 
						|
close: checkpoints/checkpoint1
 | 
						|
open: db/000006.log
 | 
						|
create: checkpoints/checkpoint1/000006.log
 | 
						|
sync-data: checkpoints/checkpoint1/000006.log
 | 
						|
close: checkpoints/checkpoint1/000006.log
 | 
						|
close: db/000006.log
 | 
						|
sync: checkpoints/checkpoint1
 | 
						|
close: checkpoints/checkpoint1
 | 
						|
 | 
						|
checkpoint db checkpoints/checkpoint1
 | 
						|
----
 | 
						|
checkpoint checkpoints/checkpoint1: file already exists
 | 
						|
 | 
						|
# Create a checkpoint that omits SSTs that don't overlap with the [d - f) range.
 | 
						|
checkpoint db checkpoints/checkpoint2 restrict=(d-f)
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint2 0755
 | 
						|
open-dir: checkpoints
 | 
						|
sync: checkpoints
 | 
						|
close: checkpoints
 | 
						|
open-dir: checkpoints/checkpoint2
 | 
						|
link: db/OPTIONS-000003 -> checkpoints/checkpoint2/OPTIONS-000003
 | 
						|
open-dir: checkpoints/checkpoint2
 | 
						|
create: checkpoints/checkpoint2/marker.format-version.000001.016
 | 
						|
sync-data: checkpoints/checkpoint2/marker.format-version.000001.016
 | 
						|
close: checkpoints/checkpoint2/marker.format-version.000001.016
 | 
						|
sync: checkpoints/checkpoint2
 | 
						|
close: checkpoints/checkpoint2
 | 
						|
link: db/000007.sst -> checkpoints/checkpoint2/000007.sst
 | 
						|
open: db/MANIFEST-000001
 | 
						|
create: checkpoints/checkpoint2/MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint2/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint2/MANIFEST-000001
 | 
						|
close: db/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint2
 | 
						|
create: checkpoints/checkpoint2/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint2/marker.manifest.000001.MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint2/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint2
 | 
						|
close: checkpoints/checkpoint2
 | 
						|
open: db/000006.log
 | 
						|
create: checkpoints/checkpoint2/000006.log
 | 
						|
sync-data: checkpoints/checkpoint2/000006.log
 | 
						|
close: checkpoints/checkpoint2/000006.log
 | 
						|
close: db/000006.log
 | 
						|
sync: checkpoints/checkpoint2
 | 
						|
close: checkpoints/checkpoint2
 | 
						|
 | 
						|
# Create a checkpoint that omits SSTs that don't overlap with [a - e) and [d - f).
 | 
						|
checkpoint db checkpoints/checkpoint3 restrict=(a-e, d-f)
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint3 0755
 | 
						|
open-dir: checkpoints
 | 
						|
sync: checkpoints
 | 
						|
close: checkpoints
 | 
						|
open-dir: checkpoints/checkpoint3
 | 
						|
link: db/OPTIONS-000003 -> checkpoints/checkpoint3/OPTIONS-000003
 | 
						|
open-dir: checkpoints/checkpoint3
 | 
						|
create: checkpoints/checkpoint3/marker.format-version.000001.016
 | 
						|
sync-data: checkpoints/checkpoint3/marker.format-version.000001.016
 | 
						|
close: checkpoints/checkpoint3/marker.format-version.000001.016
 | 
						|
sync: checkpoints/checkpoint3
 | 
						|
close: checkpoints/checkpoint3
 | 
						|
link: db/000005.sst -> checkpoints/checkpoint3/000005.sst
 | 
						|
link: db/000007.sst -> checkpoints/checkpoint3/000007.sst
 | 
						|
open: db/MANIFEST-000001
 | 
						|
create: checkpoints/checkpoint3/MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint3/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint3/MANIFEST-000001
 | 
						|
close: db/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint3
 | 
						|
create: checkpoints/checkpoint3/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint3/marker.manifest.000001.MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint3/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint3
 | 
						|
close: checkpoints/checkpoint3
 | 
						|
open: db/000006.log
 | 
						|
create: checkpoints/checkpoint3/000006.log
 | 
						|
sync-data: checkpoints/checkpoint3/000006.log
 | 
						|
close: checkpoints/checkpoint3/000006.log
 | 
						|
close: db/000006.log
 | 
						|
sync: checkpoints/checkpoint3
 | 
						|
close: checkpoints/checkpoint3
 | 
						|
 | 
						|
compact db
 | 
						|
----
 | 
						|
sync-data: db/000006.log
 | 
						|
close: db/000006.log
 | 
						|
reuseForWrite: db/000004.log -> db/000008.log
 | 
						|
sync: db
 | 
						|
create: db/000009.sst
 | 
						|
sync-data: db/000009.sst
 | 
						|
close: db/000009.sst
 | 
						|
sync: db
 | 
						|
sync: db/MANIFEST-000001
 | 
						|
open: db/000005.sst
 | 
						|
read-at(630, 53): db/000005.sst
 | 
						|
read-at(593, 37): db/000005.sst
 | 
						|
read-at(74, 519): db/000005.sst
 | 
						|
read-at(47, 27): db/000005.sst
 | 
						|
open: db/000005.sst
 | 
						|
close: db/000005.sst
 | 
						|
open: db/000009.sst
 | 
						|
read-at(625, 53): db/000009.sst
 | 
						|
read-at(588, 37): db/000009.sst
 | 
						|
read-at(69, 519): db/000009.sst
 | 
						|
read-at(42, 27): db/000009.sst
 | 
						|
open: db/000009.sst
 | 
						|
close: db/000009.sst
 | 
						|
open: db/000007.sst
 | 
						|
read-at(630, 53): db/000007.sst
 | 
						|
read-at(593, 37): db/000007.sst
 | 
						|
read-at(74, 519): db/000007.sst
 | 
						|
read-at(47, 27): db/000007.sst
 | 
						|
open: db/000007.sst
 | 
						|
close: db/000007.sst
 | 
						|
open: db/000005.sst
 | 
						|
read-at(0, 47): db/000005.sst
 | 
						|
open: db/000007.sst
 | 
						|
read-at(0, 47): db/000007.sst
 | 
						|
create: db/000010.sst
 | 
						|
close: db/000005.sst
 | 
						|
open: db/000009.sst
 | 
						|
read-at(0, 42): db/000009.sst
 | 
						|
close: db/000007.sst
 | 
						|
close: db/000009.sst
 | 
						|
sync-data: db/000010.sst
 | 
						|
close: db/000010.sst
 | 
						|
sync: db
 | 
						|
sync: db/MANIFEST-000001
 | 
						|
close: db/000005.sst
 | 
						|
close: db/000007.sst
 | 
						|
close: db/000009.sst
 | 
						|
remove: db/000005.sst
 | 
						|
remove: db/000007.sst
 | 
						|
remove: db/000009.sst
 | 
						|
 | 
						|
batch db
 | 
						|
set h 11
 | 
						|
----
 | 
						|
sync-data: db/000008.log
 | 
						|
 | 
						|
list db
 | 
						|
----
 | 
						|
000006.log
 | 
						|
000008.log
 | 
						|
000010.sst
 | 
						|
CURRENT
 | 
						|
LOCK
 | 
						|
MANIFEST-000001
 | 
						|
OPTIONS-000003
 | 
						|
marker.format-version.000015.016
 | 
						|
marker.manifest.000001.MANIFEST-000001
 | 
						|
 | 
						|
list checkpoints/checkpoint1
 | 
						|
----
 | 
						|
000005.sst
 | 
						|
000006.log
 | 
						|
000007.sst
 | 
						|
MANIFEST-000001
 | 
						|
OPTIONS-000003
 | 
						|
marker.format-version.000001.016
 | 
						|
marker.manifest.000001.MANIFEST-000001
 | 
						|
 | 
						|
open checkpoints/checkpoint1 readonly
 | 
						|
----
 | 
						|
open-dir: checkpoints/checkpoint1
 | 
						|
lock: checkpoints/checkpoint1/LOCK
 | 
						|
open-dir: checkpoints/checkpoint1
 | 
						|
open-dir: checkpoints/checkpoint1
 | 
						|
open: checkpoints/checkpoint1/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint1/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint1
 | 
						|
open: checkpoints/checkpoint1/OPTIONS-000003
 | 
						|
close: checkpoints/checkpoint1/OPTIONS-000003
 | 
						|
open: checkpoints/checkpoint1/000006.log
 | 
						|
close: checkpoints/checkpoint1/000006.log
 | 
						|
 | 
						|
scan checkpoints/checkpoint1
 | 
						|
----
 | 
						|
open: checkpoints/checkpoint1/000007.sst
 | 
						|
read-at(630, 53): checkpoints/checkpoint1/000007.sst
 | 
						|
read-at(593, 37): checkpoints/checkpoint1/000007.sst
 | 
						|
read-at(74, 519): checkpoints/checkpoint1/000007.sst
 | 
						|
read-at(47, 27): checkpoints/checkpoint1/000007.sst
 | 
						|
read-at(0, 47): checkpoints/checkpoint1/000007.sst
 | 
						|
open: checkpoints/checkpoint1/000005.sst
 | 
						|
read-at(630, 53): checkpoints/checkpoint1/000005.sst
 | 
						|
read-at(593, 37): checkpoints/checkpoint1/000005.sst
 | 
						|
read-at(74, 519): checkpoints/checkpoint1/000005.sst
 | 
						|
read-at(47, 27): checkpoints/checkpoint1/000005.sst
 | 
						|
read-at(0, 47): checkpoints/checkpoint1/000005.sst
 | 
						|
a 1
 | 
						|
b 5
 | 
						|
c 3
 | 
						|
d 7
 | 
						|
e 8
 | 
						|
f 9
 | 
						|
g 10
 | 
						|
.
 | 
						|
 | 
						|
scan db
 | 
						|
----
 | 
						|
open: db/000010.sst
 | 
						|
read-at(657, 53): db/000010.sst
 | 
						|
read-at(620, 37): db/000010.sst
 | 
						|
read-at(101, 519): db/000010.sst
 | 
						|
read-at(74, 27): db/000010.sst
 | 
						|
read-at(0, 74): db/000010.sst
 | 
						|
a 1
 | 
						|
b 5
 | 
						|
c 3
 | 
						|
d 7
 | 
						|
e 8
 | 
						|
f 9
 | 
						|
g 10
 | 
						|
h 11
 | 
						|
.
 | 
						|
 | 
						|
# This checkpoint should only contain the second SST.
 | 
						|
list checkpoints/checkpoint2
 | 
						|
----
 | 
						|
000006.log
 | 
						|
000007.sst
 | 
						|
MANIFEST-000001
 | 
						|
OPTIONS-000003
 | 
						|
marker.format-version.000001.016
 | 
						|
marker.manifest.000001.MANIFEST-000001
 | 
						|
 | 
						|
open checkpoints/checkpoint2 readonly
 | 
						|
----
 | 
						|
open-dir: checkpoints/checkpoint2
 | 
						|
lock: checkpoints/checkpoint2/LOCK
 | 
						|
open-dir: checkpoints/checkpoint2
 | 
						|
open-dir: checkpoints/checkpoint2
 | 
						|
open: checkpoints/checkpoint2/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint2/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint2
 | 
						|
open: checkpoints/checkpoint2/OPTIONS-000003
 | 
						|
close: checkpoints/checkpoint2/OPTIONS-000003
 | 
						|
open: checkpoints/checkpoint2/000006.log
 | 
						|
close: checkpoints/checkpoint2/000006.log
 | 
						|
 | 
						|
scan checkpoints/checkpoint2
 | 
						|
----
 | 
						|
open: checkpoints/checkpoint2/000007.sst
 | 
						|
read-at(630, 53): checkpoints/checkpoint2/000007.sst
 | 
						|
read-at(593, 37): checkpoints/checkpoint2/000007.sst
 | 
						|
read-at(74, 519): checkpoints/checkpoint2/000007.sst
 | 
						|
read-at(47, 27): checkpoints/checkpoint2/000007.sst
 | 
						|
read-at(0, 47): checkpoints/checkpoint2/000007.sst
 | 
						|
b 5
 | 
						|
d 7
 | 
						|
e 8
 | 
						|
f 9
 | 
						|
g 10
 | 
						|
.
 | 
						|
 | 
						|
# This checkpoint should contain both SSTs.
 | 
						|
list checkpoints/checkpoint3
 | 
						|
----
 | 
						|
000005.sst
 | 
						|
000006.log
 | 
						|
000007.sst
 | 
						|
MANIFEST-000001
 | 
						|
OPTIONS-000003
 | 
						|
marker.format-version.000001.016
 | 
						|
marker.manifest.000001.MANIFEST-000001
 | 
						|
 | 
						|
open checkpoints/checkpoint3 readonly
 | 
						|
----
 | 
						|
open-dir: checkpoints/checkpoint3
 | 
						|
lock: checkpoints/checkpoint3/LOCK
 | 
						|
open-dir: checkpoints/checkpoint3
 | 
						|
open-dir: checkpoints/checkpoint3
 | 
						|
open: checkpoints/checkpoint3/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint3/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint3
 | 
						|
open: checkpoints/checkpoint3/OPTIONS-000003
 | 
						|
close: checkpoints/checkpoint3/OPTIONS-000003
 | 
						|
open: checkpoints/checkpoint3/000006.log
 | 
						|
close: checkpoints/checkpoint3/000006.log
 | 
						|
 | 
						|
scan checkpoints/checkpoint3
 | 
						|
----
 | 
						|
open: checkpoints/checkpoint3/000007.sst
 | 
						|
read-at(630, 53): checkpoints/checkpoint3/000007.sst
 | 
						|
read-at(593, 37): checkpoints/checkpoint3/000007.sst
 | 
						|
read-at(74, 519): checkpoints/checkpoint3/000007.sst
 | 
						|
read-at(47, 27): checkpoints/checkpoint3/000007.sst
 | 
						|
read-at(0, 47): checkpoints/checkpoint3/000007.sst
 | 
						|
open: checkpoints/checkpoint3/000005.sst
 | 
						|
read-at(630, 53): checkpoints/checkpoint3/000005.sst
 | 
						|
read-at(593, 37): checkpoints/checkpoint3/000005.sst
 | 
						|
read-at(74, 519): checkpoints/checkpoint3/000005.sst
 | 
						|
read-at(47, 27): checkpoints/checkpoint3/000005.sst
 | 
						|
read-at(0, 47): checkpoints/checkpoint3/000005.sst
 | 
						|
a 1
 | 
						|
b 5
 | 
						|
c 3
 | 
						|
d 7
 | 
						|
e 8
 | 
						|
f 9
 | 
						|
g 10
 | 
						|
.
 | 
						|
 | 
						|
# Test virtual sstable checkpointing. Virtual sstable checkpointing will remove
 | 
						|
# the backing files which won't be required by the checkpoint. Need to make sure
 | 
						|
# that the virtual sstables which are present in the checkpoint manifest are
 | 
						|
# still readable, and that the backing files not required are deleted.
 | 
						|
 | 
						|
lsm db
 | 
						|
----
 | 
						|
6:
 | 
						|
  000010:[a#0,SET-g#0,SET]
 | 
						|
 | 
						|
build db ext1 format=pebblev2
 | 
						|
set i i
 | 
						|
set j j
 | 
						|
set k k
 | 
						|
----
 | 
						|
 | 
						|
ingest-and-excise db ext1 excise=c-d
 | 
						|
----
 | 
						|
 | 
						|
# 12, 13 are virtual sstables.
 | 
						|
lsm db
 | 
						|
----
 | 
						|
6:
 | 
						|
  000012:[a#0,SET-b#0,SET]
 | 
						|
  000013:[d#0,SET-g#0,SET]
 | 
						|
  000011:[i#19,SET-k#19,SET]
 | 
						|
 | 
						|
build db ext2 format=pebblev2
 | 
						|
set z z
 | 
						|
----
 | 
						|
 | 
						|
ingest-and-excise db ext2 excise=j-k
 | 
						|
----
 | 
						|
 | 
						|
# 12, 13, 15, 16 are virtual.
 | 
						|
lsm db
 | 
						|
----
 | 
						|
6:
 | 
						|
  000012:[a#0,SET-b#0,SET]
 | 
						|
  000013:[d#0,SET-g#0,SET]
 | 
						|
  000015:[i#19,SET-i#19,SET]
 | 
						|
  000016:[k#19,SET-k#19,SET]
 | 
						|
  000014:[z#20,SET-z#20,SET]
 | 
						|
 | 
						|
# scan db so that it is known what to expect from the checkpoints.
 | 
						|
scan db
 | 
						|
----
 | 
						|
a 1
 | 
						|
b 5
 | 
						|
d 7
 | 
						|
e 8
 | 
						|
f 9
 | 
						|
g 10
 | 
						|
h 11
 | 
						|
i i
 | 
						|
k k
 | 
						|
open: db/000014.sst
 | 
						|
read-at(636, 53): db/000014.sst
 | 
						|
read-at(599, 37): db/000014.sst
 | 
						|
z z
 | 
						|
.
 | 
						|
 | 
						|
# Create a basic checkpoint to see if virtual sstables can be read.
 | 
						|
checkpoint db checkpoints/checkpoint4
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint4 0755
 | 
						|
open-dir: checkpoints
 | 
						|
sync: checkpoints
 | 
						|
close: checkpoints
 | 
						|
open-dir: checkpoints/checkpoint4
 | 
						|
link: db/OPTIONS-000003 -> checkpoints/checkpoint4/OPTIONS-000003
 | 
						|
open-dir: checkpoints/checkpoint4
 | 
						|
create: checkpoints/checkpoint4/marker.format-version.000001.016
 | 
						|
sync-data: checkpoints/checkpoint4/marker.format-version.000001.016
 | 
						|
close: checkpoints/checkpoint4/marker.format-version.000001.016
 | 
						|
sync: checkpoints/checkpoint4
 | 
						|
close: checkpoints/checkpoint4
 | 
						|
link: db/000010.sst -> checkpoints/checkpoint4/000010.sst
 | 
						|
link: db/000011.sst -> checkpoints/checkpoint4/000011.sst
 | 
						|
link: db/000014.sst -> checkpoints/checkpoint4/000014.sst
 | 
						|
open: db/MANIFEST-000001
 | 
						|
create: checkpoints/checkpoint4/MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint4/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint4/MANIFEST-000001
 | 
						|
close: db/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint4
 | 
						|
create: checkpoints/checkpoint4/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint4/marker.manifest.000001.MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint4/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint4
 | 
						|
close: checkpoints/checkpoint4
 | 
						|
open: db/000008.log
 | 
						|
create: checkpoints/checkpoint4/000008.log
 | 
						|
sync-data: checkpoints/checkpoint4/000008.log
 | 
						|
close: checkpoints/checkpoint4/000008.log
 | 
						|
close: db/000008.log
 | 
						|
sync: checkpoints/checkpoint4
 | 
						|
close: checkpoints/checkpoint4
 | 
						|
 | 
						|
open checkpoints/checkpoint4 readonly
 | 
						|
----
 | 
						|
open-dir: checkpoints/checkpoint4
 | 
						|
lock: checkpoints/checkpoint4/LOCK
 | 
						|
open-dir: checkpoints/checkpoint4
 | 
						|
open-dir: checkpoints/checkpoint4
 | 
						|
open: checkpoints/checkpoint4/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint4/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint4
 | 
						|
open: checkpoints/checkpoint4/OPTIONS-000003
 | 
						|
close: checkpoints/checkpoint4/OPTIONS-000003
 | 
						|
open: checkpoints/checkpoint4/000008.log
 | 
						|
close: checkpoints/checkpoint4/000008.log
 | 
						|
 | 
						|
scan checkpoints/checkpoint4
 | 
						|
----
 | 
						|
open: checkpoints/checkpoint4/000010.sst
 | 
						|
read-at(657, 53): checkpoints/checkpoint4/000010.sst
 | 
						|
read-at(620, 37): checkpoints/checkpoint4/000010.sst
 | 
						|
read-at(101, 519): checkpoints/checkpoint4/000010.sst
 | 
						|
read-at(74, 27): checkpoints/checkpoint4/000010.sst
 | 
						|
read-at(0, 74): checkpoints/checkpoint4/000010.sst
 | 
						|
a 1
 | 
						|
b 5
 | 
						|
d 7
 | 
						|
e 8
 | 
						|
f 9
 | 
						|
g 10
 | 
						|
open: checkpoints/checkpoint4/000011.sst
 | 
						|
read-at(653, 53): checkpoints/checkpoint4/000011.sst
 | 
						|
read-at(616, 37): checkpoints/checkpoint4/000011.sst
 | 
						|
read-at(70, 546): checkpoints/checkpoint4/000011.sst
 | 
						|
read-at(43, 27): checkpoints/checkpoint4/000011.sst
 | 
						|
read-at(0, 43): checkpoints/checkpoint4/000011.sst
 | 
						|
h 11
 | 
						|
i i
 | 
						|
k k
 | 
						|
open: checkpoints/checkpoint4/000014.sst
 | 
						|
read-at(636, 53): checkpoints/checkpoint4/000014.sst
 | 
						|
read-at(599, 37): checkpoints/checkpoint4/000014.sst
 | 
						|
read-at(53, 546): checkpoints/checkpoint4/000014.sst
 | 
						|
read-at(26, 27): checkpoints/checkpoint4/000014.sst
 | 
						|
read-at(0, 26): checkpoints/checkpoint4/000014.sst
 | 
						|
z z
 | 
						|
.
 | 
						|
 | 
						|
close checkpoints/checkpoint4
 | 
						|
----
 | 
						|
 | 
						|
 | 
						|
# Backing sst 10 is in the list as it is backing sstables 12, 13.
 | 
						|
list db
 | 
						|
----
 | 
						|
000006.log
 | 
						|
000008.log
 | 
						|
000010.sst
 | 
						|
000011.sst
 | 
						|
000014.sst
 | 
						|
CURRENT
 | 
						|
LOCK
 | 
						|
MANIFEST-000001
 | 
						|
OPTIONS-000003
 | 
						|
marker.format-version.000015.016
 | 
						|
marker.manifest.000001.MANIFEST-000001
 | 
						|
 | 
						|
 | 
						|
# Exclude virtual sstable 12. The backing sst should still be present on disk
 | 
						|
# in the checkpoint. See the "link: db/000010.sst" line.
 | 
						|
checkpoint db checkpoints/checkpoint5 restrict=(d-zz)
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint5 0755
 | 
						|
open-dir: checkpoints
 | 
						|
sync: checkpoints
 | 
						|
close: checkpoints
 | 
						|
open-dir: checkpoints/checkpoint5
 | 
						|
link: db/OPTIONS-000003 -> checkpoints/checkpoint5/OPTIONS-000003
 | 
						|
open-dir: checkpoints/checkpoint5
 | 
						|
create: checkpoints/checkpoint5/marker.format-version.000001.016
 | 
						|
sync-data: checkpoints/checkpoint5/marker.format-version.000001.016
 | 
						|
close: checkpoints/checkpoint5/marker.format-version.000001.016
 | 
						|
sync: checkpoints/checkpoint5
 | 
						|
close: checkpoints/checkpoint5
 | 
						|
link: db/000010.sst -> checkpoints/checkpoint5/000010.sst
 | 
						|
link: db/000011.sst -> checkpoints/checkpoint5/000011.sst
 | 
						|
link: db/000014.sst -> checkpoints/checkpoint5/000014.sst
 | 
						|
open: db/MANIFEST-000001
 | 
						|
create: checkpoints/checkpoint5/MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint5/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint5/MANIFEST-000001
 | 
						|
close: db/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint5
 | 
						|
create: checkpoints/checkpoint5/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint5/marker.manifest.000001.MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint5/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint5
 | 
						|
close: checkpoints/checkpoint5
 | 
						|
open: db/000008.log
 | 
						|
create: checkpoints/checkpoint5/000008.log
 | 
						|
sync-data: checkpoints/checkpoint5/000008.log
 | 
						|
close: checkpoints/checkpoint5/000008.log
 | 
						|
close: db/000008.log
 | 
						|
sync: checkpoints/checkpoint5
 | 
						|
close: checkpoints/checkpoint5
 | 
						|
 | 
						|
open checkpoints/checkpoint5
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint5 0755
 | 
						|
open-dir: checkpoints/checkpoint5
 | 
						|
lock: checkpoints/checkpoint5/LOCK
 | 
						|
open-dir: checkpoints/checkpoint5
 | 
						|
open-dir: checkpoints/checkpoint5
 | 
						|
open: checkpoints/checkpoint5/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint5/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint5
 | 
						|
open: checkpoints/checkpoint5/OPTIONS-000003
 | 
						|
close: checkpoints/checkpoint5/OPTIONS-000003
 | 
						|
open: checkpoints/checkpoint5/000008.log
 | 
						|
create: checkpoints/checkpoint5/000017.sst
 | 
						|
sync-data: checkpoints/checkpoint5/000017.sst
 | 
						|
close: checkpoints/checkpoint5/000017.sst
 | 
						|
sync: checkpoints/checkpoint5
 | 
						|
close: checkpoints/checkpoint5/000008.log
 | 
						|
create: checkpoints/checkpoint5/MANIFEST-000019
 | 
						|
sync: checkpoints/checkpoint5/MANIFEST-000019
 | 
						|
create: checkpoints/checkpoint5/marker.manifest.000002.MANIFEST-000019
 | 
						|
close: checkpoints/checkpoint5/marker.manifest.000002.MANIFEST-000019
 | 
						|
remove: checkpoints/checkpoint5/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint5
 | 
						|
create: checkpoints/checkpoint5/000018.log
 | 
						|
sync: checkpoints/checkpoint5
 | 
						|
create: checkpoints/checkpoint5/temporary.000020.dbtmp
 | 
						|
sync: checkpoints/checkpoint5/temporary.000020.dbtmp
 | 
						|
close: checkpoints/checkpoint5/temporary.000020.dbtmp
 | 
						|
rename: checkpoints/checkpoint5/temporary.000020.dbtmp -> checkpoints/checkpoint5/OPTIONS-000020
 | 
						|
sync: checkpoints/checkpoint5
 | 
						|
remove: checkpoints/checkpoint5/000008.log
 | 
						|
remove: checkpoints/checkpoint5/OPTIONS-000003
 | 
						|
 | 
						|
print-backing checkpoints/checkpoint5
 | 
						|
----
 | 
						|
000010
 | 
						|
000011
 | 
						|
 | 
						|
# sstable 12 is gone.
 | 
						|
lsm checkpoints/checkpoint5
 | 
						|
----
 | 
						|
0.0:
 | 
						|
  000017:[h#18,SET-h#18,SET]
 | 
						|
6:
 | 
						|
  000013:[d#0,SET-g#0,SET]
 | 
						|
  000015:[i#19,SET-i#19,SET]
 | 
						|
  000016:[k#19,SET-k#19,SET]
 | 
						|
  000014:[z#20,SET-z#20,SET]
 | 
						|
 | 
						|
close checkpoints/checkpoint5
 | 
						|
----
 | 
						|
 | 
						|
# Exclude both sstables 12 and 13. The backing sstable 10 should not be linked.
 | 
						|
# There should be a remove backing table entry for backing sstable 10.
 | 
						|
checkpoint db checkpoints/checkpoint6 restrict=(i-zz)
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint6 0755
 | 
						|
open-dir: checkpoints
 | 
						|
sync: checkpoints
 | 
						|
close: checkpoints
 | 
						|
open-dir: checkpoints/checkpoint6
 | 
						|
link: db/OPTIONS-000003 -> checkpoints/checkpoint6/OPTIONS-000003
 | 
						|
open-dir: checkpoints/checkpoint6
 | 
						|
create: checkpoints/checkpoint6/marker.format-version.000001.016
 | 
						|
sync-data: checkpoints/checkpoint6/marker.format-version.000001.016
 | 
						|
close: checkpoints/checkpoint6/marker.format-version.000001.016
 | 
						|
sync: checkpoints/checkpoint6
 | 
						|
close: checkpoints/checkpoint6
 | 
						|
link: db/000011.sst -> checkpoints/checkpoint6/000011.sst
 | 
						|
link: db/000014.sst -> checkpoints/checkpoint6/000014.sst
 | 
						|
open: db/MANIFEST-000001
 | 
						|
create: checkpoints/checkpoint6/MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint6/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint6/MANIFEST-000001
 | 
						|
close: db/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint6
 | 
						|
create: checkpoints/checkpoint6/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync-data: checkpoints/checkpoint6/marker.manifest.000001.MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint6/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint6
 | 
						|
close: checkpoints/checkpoint6
 | 
						|
open: db/000008.log
 | 
						|
create: checkpoints/checkpoint6/000008.log
 | 
						|
sync-data: checkpoints/checkpoint6/000008.log
 | 
						|
close: checkpoints/checkpoint6/000008.log
 | 
						|
close: db/000008.log
 | 
						|
sync: checkpoints/checkpoint6
 | 
						|
close: checkpoints/checkpoint6
 | 
						|
 | 
						|
open checkpoints/checkpoint6
 | 
						|
----
 | 
						|
mkdir-all: checkpoints/checkpoint6 0755
 | 
						|
open-dir: checkpoints/checkpoint6
 | 
						|
lock: checkpoints/checkpoint6/LOCK
 | 
						|
open-dir: checkpoints/checkpoint6
 | 
						|
open-dir: checkpoints/checkpoint6
 | 
						|
open: checkpoints/checkpoint6/MANIFEST-000001
 | 
						|
close: checkpoints/checkpoint6/MANIFEST-000001
 | 
						|
open-dir: checkpoints/checkpoint6
 | 
						|
open: checkpoints/checkpoint6/OPTIONS-000003
 | 
						|
close: checkpoints/checkpoint6/OPTIONS-000003
 | 
						|
open: checkpoints/checkpoint6/000008.log
 | 
						|
create: checkpoints/checkpoint6/000017.sst
 | 
						|
sync-data: checkpoints/checkpoint6/000017.sst
 | 
						|
close: checkpoints/checkpoint6/000017.sst
 | 
						|
sync: checkpoints/checkpoint6
 | 
						|
close: checkpoints/checkpoint6/000008.log
 | 
						|
create: checkpoints/checkpoint6/MANIFEST-000019
 | 
						|
sync: checkpoints/checkpoint6/MANIFEST-000019
 | 
						|
create: checkpoints/checkpoint6/marker.manifest.000002.MANIFEST-000019
 | 
						|
close: checkpoints/checkpoint6/marker.manifest.000002.MANIFEST-000019
 | 
						|
remove: checkpoints/checkpoint6/marker.manifest.000001.MANIFEST-000001
 | 
						|
sync: checkpoints/checkpoint6
 | 
						|
create: checkpoints/checkpoint6/000018.log
 | 
						|
sync: checkpoints/checkpoint6
 | 
						|
create: checkpoints/checkpoint6/temporary.000020.dbtmp
 | 
						|
sync: checkpoints/checkpoint6/temporary.000020.dbtmp
 | 
						|
close: checkpoints/checkpoint6/temporary.000020.dbtmp
 | 
						|
rename: checkpoints/checkpoint6/temporary.000020.dbtmp -> checkpoints/checkpoint6/OPTIONS-000020
 | 
						|
sync: checkpoints/checkpoint6
 | 
						|
remove: checkpoints/checkpoint6/000008.log
 | 
						|
remove: checkpoints/checkpoint6/OPTIONS-000003
 | 
						|
 | 
						|
print-backing checkpoints/checkpoint6
 | 
						|
----
 | 
						|
000011
 | 
						|
 | 
						|
lsm checkpoints/checkpoint6
 | 
						|
----
 | 
						|
0.0:
 | 
						|
  000017:[h#18,SET-h#18,SET]
 | 
						|
6:
 | 
						|
  000015:[i#19,SET-i#19,SET]
 | 
						|
  000016:[k#19,SET-k#19,SET]
 | 
						|
  000014:[z#20,SET-z#20,SET]
 |