stack created HBASE-22957: ----------------------------- Summary: [HBCK2] reference file check fails if compiled with old version but check against new Key: HBASE-22957 URL: https://issues.apache.org/jira/browse/HBASE-22957 Project: HBase Issue Type: Sub-task Reporter: stack
The innocuous looking change HBASE-22721 Refactor HBaseFsck: move the inner class out made it so some hbck2 filesystem checks fail if hbck2 was compiled with a version from before this change but run against a newer version. In name of making hbck2 able to run against broader swath of hbases, let me make some changes. Here is the exception you'd see: {code} 05:22:09.920 [main] INFO org.apache.hadoop.hbase.client.ConnectionImplementation - Closing master protocol: MasterService Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.util.FSUtils.getTableStoreFilePathMap(Lorg/apache/hadoop/fs/FileSystem;Lorg/apache/hadoop/fs/Path;Lorg/apache/hadoop/fs/PathFilter;Ljava/util/concurrent/ExecutorService;Lorg/apache/hadoop/hbase/util/HBaseFsck$ErrorReporter;)Ljava/util/Map; at org.apache.hbase.hbck1.HBaseFsck.offlineReferenceFileRepair(HBaseFsck.java:1191) at org.apache.hbase.hbck1.HBaseFsck.offlineHbck(HBaseFsck.java:846) at org.apache.hbase.FileSystemFsck.fsck(FileSystemFsck.java:103) at org.apache.hbase.HBCK2.doCommandLine(HBCK2.java:560) at org.apache.hbase.HBCK2.run(HBCK2.java:470) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90) at org.apache.hbase.HBCK2.main(HBCK2.java:620) {code} While the 'fix' is for hbase-operator-tools, this area up in hbase needs commentary and deprecation. It was wonky from the get-go and we need to be explicit that this code is not to be enhanced and is going away. Will file a companion issue for hbase changes. -- This message was sent by Atlassian Jira (v8.3.2#803003)