mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-10-31 14:47:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| # Test snapshot striping and coalescing.
 | |
| 
 | |
| transform snapshots=(5,10,15) disable-elision
 | |
| a-c:{(#9,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#9,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3)}
 | |
| 
 | |
| transform snapshots=(5,10,15) disable-elision
 | |
| a-c:{(#9,RANGEKEYUNSET,@3) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#9,RANGEKEYUNSET,@3) (#4,RANGEKEYSET,@3,foo3)}
 | |
| 
 | |
| transform snapshots=(5,10,15) disable-elision
 | |
| a-c:{(#9,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#9,RANGEKEYDEL) (#4,RANGEKEYSET,@3,foo3)}
 | |
| 
 | |
| transform snapshots=(5,10,15) disable-elision
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3)}
 | |
| 
 | |
| transform disable-elision
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYDEL)}
 | |
| 
 | |
| # Test that elision works on the last snapshot stripe.
 | |
| 
 | |
| transform snapshots=(5,10,15)
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3)}
 | |
| 
 | |
| transform snapshots=(3,10,15)
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYUNSET,@4) (#2,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#3,RANGEKEYUNSET,@4) (#2,RANGEKEYSET,@3,foo2)}
 | |
| 
 | |
| transform snapshots=(2,10,15)
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYUNSET,@4) (#2,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5)}
 | |
| 
 | |
| # The RANGEKEYDEL deletes all underlying keys and there are no snapshots or
 | |
| # in-use key ranges at play, so all keys should empty out.
 | |
| 
 | |
| transform
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{}
 | |
| 
 | |
| # Test RANGEKEYDELs are preserved over in-use key ranges in the last snapshot stripe.
 | |
| # in-use key ranges cover keys that exist in lower levels of the LSM, so dropping
 | |
| # range keys in that space could cause correctness issues.
 | |
| 
 | |
| transform in-use-key-ranges=(b-d)
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYDEL)}
 | |
| 
 | |
| # Test RANGEKEYSETs are preserved in the non-last snapshot stripe.
 | |
| 
 | |
| transform in-use-key-ranges=(b-d) snapshots=(8)
 | |
| a-c:{(#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYDEL) (#4,RANGEKEYSET,@3,foo3)}
 | |
| 
 | |
| transform
 | |
| a-c:{(#13,RANGEKEYSET,@3,bar1) (#12,RANGEKEYSET,@2,bar2) (#11,RANGEKEYDEL) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#13,RANGEKEYSET,@3,bar1) (#12,RANGEKEYSET,@2,bar2)}
 | |
| 
 | |
| # Test RANGEKEYUNSETs are preserved over in-use key ranges.
 | |
| 
 | |
| transform
 | |
| a-c:{(#11,RANGEKEYUNSET,@3) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{}
 | |
| 
 | |
| transform in-use-key-ranges=(b-d)
 | |
| a-c:{(#11,RANGEKEYUNSET,@3) (#8,RANGEKEYSET,@3,foo5) (#4,RANGEKEYSET,@3,foo3) (#3,RANGEKEYSET,@3,foo2)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYUNSET,@3)}
 | |
| 
 | |
| # Test cases where multiple keys have the same sequence number.
 | |
| 
 | |
| transform
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@4) (#11,RANGEKEYDEL)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5)}
 | |
| 
 | |
| transform
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@3) (#11,RANGEKEYDEL)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5)}
 | |
| 
 | |
| # Test that UNSETs and DELs are retained over in-use key ranges.
 | |
| 
 | |
| transform in-use-key-ranges=(b-d)
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@4) (#11,RANGEKEYDEL)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@4) (#11,RANGEKEYDEL)}
 | |
| 
 | |
| # Test that sets shadow unset at the same prefix, even if elision is disabled.
 | |
| 
 | |
| transform in-use-key-ranges=(b-d)
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@3) (#11,RANGEKEYDEL)}
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYDEL)}
 | |
| 
 | |
| transform disable-elision
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYUNSET,@3) (#11,RANGEKEYDEL)
 | |
| ----
 | |
| a-c:{(#11,RANGEKEYSET,@3,foo5) (#11,RANGEKEYDEL)}
 | 
