Details
-
Improvement
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
Each HBase version is shipped with a specific version of HBCK2 therefore we can check the HBCK2 version and decide if the given command is supported in that version or not.
It is not that easy to decide if the command is supported or not when dealing with back-ported features.
It the conclusion of this I would recommend using feature negotiation to check what commands are supported on the server side instead of comparing versions.
Attachments
Attachments
Issue Links
- relates to
-
HBASE-24204 HBCK2 feature negotiation for commands not on Hbck interface
- Open
- links to
I would accomplish it by querying the DeclaredMethods of the Hbck class and then investigate if it has the command that we want to run or not.
It would be something like this:
We also uploaded this change and checked it on 3 clusters and seems to work.