saintstack commented on a change in pull request #40: HBASE-23112 [hbase-operator-tools] fixMeta in hbck2 is porcelain, in … URL: https://github.com/apache/hbase-operator-tools/pull/40#discussion_r331344966
########## File path: hbase-hbck2/README.md ########## @@ -20,32 +20,33 @@ _HBCK2_ is the repair tool for Apache HBase clusters. -Problems in operation are bugs. -The need for an _HBCK2_ fix is meant as workaround until the bug is fixed and -deployed in a new hbase version. +Problems in operation are bugs. The need for an _HBCK2_ fix +is meant as workaround until the bug is fixed and deployed +in a new hbase version. ## _HBCK2_ vs _hbck1_ HBCK2 is the successor to [hbck](https://hbase.apache.org/book.html#hbck.in.depth), the repair tool that shipped with _hbase-1.x_ (A.K.A _hbck1_). Use _HBCK2_ in place of _hbck1_ making repairs against hbase-2.x clusters. _hbck1_ should not be run against an hbase-2.x install. It may do damage. While _hbck1_ is still bundled inside hbase-2.x --- to minimize surprise -- it is deprecated, to be removed in _hbase-3.x_. It's +-- to minimize surprise -- it is deprecated, to be removed in _hbase-3.x_. Its write-facility (`-fix`) has been removed. It can report on the state of an hbase-2.x cluster but its assessments will be inaccurate since it does not understand the internal workings of an hbase-2.x. -_HBCK2_ does not work the way _hbck1_ used to. See the next section for how. +_HBCK2_ does not work the way _hbck1_ used to, even for the case where commands are +similarly named across the two versions. See the next section for how the tools +differ. ## Philosophy -_HBCK2_ performs a single discrete 'fix' task each time it is run. It does not presume +_HBCK2_ performs a single, discrete task each time it is run. It does not presume a tool can analyze all about the running cluster and then repair 'all problems' found as -_hbck1_ used suggest. _HBCK2_ is a tool that is more in the vein of -[`plumbing` than `porcelain`](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain). +_hbck1_ used suggest. Review comment: True that it can do a few holes/overlaps behind the scene. True also that fixMeta is a single task. What should we do here? In old days hbck1 had one command to for fixing holes, another for overlaps. We don't want to expose all the little steps needed to fix meta.... I've seen case where you fix holes and overlaps and meta is still borked. hbck1 used to also run multiple times because it would only do adjacents. The hbck2 fixMeta does better than this using the multi-merge. Its more likely to fix all in the one pass. We'd like to get fixMeta to a place where it can run once and take care of it all. May take some time. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services