[
https://issues.apache.org/jira/browse/HBASE-30000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Dimiduk reassigned HBASE-30000:
------------------------------------
Assignee: Nick Dimiduk
> testCompactionWithCorruptBlock fails on branch-2.5
> --------------------------------------------------
>
> Key: HBASE-30000
> URL: https://issues.apache.org/jira/browse/HBASE-30000
> Project: HBase
> Issue Type: Bug
> Components: test
> Reporter: Xiao Liu
> Assignee: Nick Dimiduk
> Priority: Major
> Fix For: 2.5.15
>
>
> {{TestCompaction.testCompactionWithCorruptBlock}} and
> {{TestCompactionWithCoprocessor.testCompactionWithCorruptBlock}} seems fails
> on branch-2.5 (failed jobs:
> [https://github.com/apache/hbase/actions/runs/22986072981/job/66965524654?pr=7808|https://github.com/apache/hbase/actions/runs/22986072981/job/66965524654?pr=7808;]
>
> [https://github.com/apache/hbase/actions/runs/22986072980/job/66942097646?pr=7808|https://github.com/apache/hbase/actions/runs/22986072980/job/66942097646?pr=7808;]
>
> [https://github.com/apache/hbase/actions/runs/22986073013/job/66942069375?pr=7808])
> After reviewing the logs, I found that {{InnerStoreCellComparator}} was
> introduced in HBASE-27788, but was only committed to branch-2.6+. HBASE-29131
> introduced the option for post-compaction validation of HFiles for
> branch-2.5+.
> local test it fails, command:
> {code:java}
> mvn test -pl hbase-server -am
> -Dtest=TestCompaction#testCompactionWithCorruptBlock -Dhadoop.profile=3.0
> {code}
> more logs:
> {code:java}
> -------------------------------------------------------------------------------
> Test set: org.apache.hadoop.hbase.regionserver.TestCompaction
> -------------------------------------------------------------------------------
> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.896 s <<<
> FAILURE! -- in org.apache.hadoop.hbase.regionserver.TestCompaction
> org.apache.hadoop.hbase.regionserver.TestCompaction.testCompactionWithCorruptBlock
> -- Time elapsed: 1.751 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: (an instance of java.io.IOException and hasProperty("message", a
> string containing "not a gzip file"))
> but: an instance of java.io.IOException <java.lang.ClassNotFoundException:
> org.apache.hadoop.hbase.InnerStoreCellComparator> is a
> java.lang.ClassNotFoundException
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
> at
> org.apache.hadoop.hbase.regionserver.TestCompaction.testCompactionWithCorruptBlock(TestCompaction.java:426)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at java.base/java.lang.Thread.run(Thread.java:842)
> {code}
> {code:java}
> 2026-03-14T00:36:04,391 ERROR [Time-limited test]
> regionserver.StoreEngine(266): Failed to open store file :
> /xxx/hbase/hbase-server/target/test-data/12a10eac-7840-b4e6-5b4f-13aa0c5d3d87/data/default/testCompactionWithCorruptBlock/73b81086f3952f988b216d362fa5e148/.tmp/f460fd27673d4f5a9423ade8333567e0,
> keeping it in tmp location
> org.apache.hadoop.hbase.io.hfile.CorruptHFileException: Problem reading HFile
> Trailer from file
> file:/xxx/hbase/hbase-server/target/test-data/12a10eac-7840-b4e6-5b4f-13aa0c5d3d87/data/default/testCompactionWithCorruptBlock/73b81086f3952f988b216d362fa5e148/.tmp/f460fd27673d4f5a9423ade8333567e0
> at
> org.apache.hadoop.hbase.io.hfile.HFileInfo.initTrailerAndContext(HFileInfo.java:349)
> at org.apache.hadoop.hbase.io.hfile.HFileInfo.<init>(HFileInfo.java:123)
> at
> org.apache.hadoop.hbase.regionserver.StoreFileInfo.initHFileInfo(StoreFileInfo.java:700)
> at org.apache.hadoop.hbase.regionserver.HStoreFile.open(HStoreFile.java:406)
> at
> org.apache.hadoop.hbase.regionserver.HStoreFile.initReader(HStoreFile.java:538)
> at
> org.apache.hadoop.hbase.regionserver.StoreEngine.createStoreFileAndReader(StoreEngine.java:230)
> at
> org.apache.hadoop.hbase.regionserver.StoreEngine.createStoreFileAndReader(StoreEngine.java:223)
> at
> org.apache.hadoop.hbase.regionserver.StoreEngine.validateStoreFile(StoreEngine.java:243)
> at
> org.apache.hadoop.hbase.regionserver.StoreEngine.commitStoreFiles(StoreEngine.java:452)
> at org.apache.hadoop.hbase.regionserver.HStore.doCompaction(HStore.java:1191)
> at
> org.apache.hadoop.hbase.regionserver.TestCompaction.testCompactionWithCorruptBlock(TestCompaction.java:419)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> at
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
> at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
> at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
> at
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299)
> at
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at java.base/java.lang.Thread.run(Thread.java:842)
> Caused by: java.io.IOException: java.lang.ClassNotFoundException:
> org.apache.hadoop.hbase.InnerStoreCellComparator
> at
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.getComparatorClass(FixedFileTrailer.java:625)
> at
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.deserializeFromPB(FixedFileTrailer.java:308)
> at
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.deserialize(FixedFileTrailer.java:254)
> at
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.readFromStream(FixedFileTrailer.java:411)
> at
> org.apache.hadoop.hbase.io.hfile.HFileInfo.initTrailerAndContext(HFileInfo.java:339)
> ... 35 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.hbase.InnerStoreCellComparator
> at
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
> at
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
> at java.base/java.lang.Class.forName0(Native Method)
> at java.base/java.lang.Class.forName(Class.java:375)
> at
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.getComparatorClass(FixedFileTrailer.java:623)
> ... 39 more
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)