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)