Skip to content

Comments

HBASE-29907 Stress test to reproduce cell ordering violation#7765

Draft
droudnitsky wants to merge 1 commit intoapache:masterfrom
droudnitsky:HBASE-29907-stress-test
Draft

HBASE-29907 Stress test to reproduce cell ordering violation#7765
droudnitsky wants to merge 1 commit intoapache:masterfrom
droudnitsky:HBASE-29907-stress-test

Conversation

@droudnitsky
Copy link
Contributor

https://issues.apache.org/jira/browse/HBASE-29907

 * This test creates multiple StoreFiles with ROWCOL bloom filters and small
 * block sizes, then runs concurrent scans while a background thread continuously
 * writes, flushes, and triggers minor compactions. The combination of bloom filter
 * fake cell optimization, multiple StoreFiles, and concurrent flush/scan interleaving
 * triggers the backward jump that the buggy check fails to catch.

@droudnitsky
Copy link
Contributor Author

Exception was successfully reproduced in this test run -

[ERROR]   Run 3: TestCellOrderingViolation.testStressConcurrentCompactionWithLargeRows:350 Cell ordering violation detected during stress test: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=3, exceptions:
2026-02-18T15:47:46.319Z, java.io.IOException: java.io.IOException: Key row00001/d:q40/500/Put/vlen=7/seqid=2417 followed by a smaller key row00001/d:q30/1001/DeleteColumn/vlen=0/seqid=5240 in cf c194e677a5c1c87ebc58b076d6343f0d/d
	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:528)
	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
	at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
	at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
Caused by: java.lang.AssertionError: Key row00001/d:q40/500/Put/vlen=7/seqid=2417 followed by a smaller key row00001/d:q30/1001/DeleteColumn/vlen=0/seqid=5240 in cf c194e677a5c1c87ebc58b076d6343f0d/d
	at org.apache.hadoop.hbase.regionserver.StoreScanner.checkScanOrder(StoreScanner.java:1117)
	at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:630)
	at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:153)
	at org.apache.hadoop.hbase.regionserver.RegionScannerImpl.populateResult(RegionScannerImpl.java:348)
	at org.apache.hadoop.hbase.regionserver.RegionScannerImpl.nextInternal(RegionScannerImpl.java:520)
	at org.apache.hadoop.hbase.regionserver.RegionScannerImpl.nextRaw(RegionScannerImpl.java:285)
	at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3433)
	at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3706)
	at org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45423)
	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:461)
	... 3 more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant