Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
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:
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)
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.
Attachments
Issue Links
- links to