-
Notifications
You must be signed in to change notification settings - Fork 149
HBASE-25874 [hbase-operator-tools]Add tool for identifying 'unknown s… #86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ervers' from master logs, then submit SCPs for each of those.
|
💔 -1 overall
This message was automatically generated. |
joshelser
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think my main worry is about relying on log file parsing for this. That's not to say this is flawed -- it just is what it is.
Is there a reason you went for this approach rather than trying to read meta and interrogate the Master as to who the active RegionServers are?
| } | ||
| } | ||
| } | ||
| HBCK2 hbck2 = new HBCK2(conf); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about at dryrun option which can be run first to make sure reasonable servernames are parsed?
hbase-tools/src/main/java/org/apache/hbase/RegionsOnUnknownServersRecoverer.java
Outdated
Show resolved
Hide resolved
Yeah, it's fragile indeed, but we are targeting this mainly for the unfortunate souls running hbase versions lower than 2.2.7, 2.3.5 and 2.4.7, as mentioned on the readme, so there shouldn't be any changes on logging format for these already released versions. For any version from the above mentioned onwards, there's already hbck2 recoverUnknown method.
Although meta is already online, master has not completed initialisation (because of namespace table region stuck on a unknown server), so it pushes back any client requests. |
Argh. The gift that keeps on giving. |
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
petersomogyi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine overall. Some nits.
| } | ||
| } else { | ||
| LOG.error("Wrong number of arguments. " | ||
| + "Arguments are: <PATH_TO_MASTER_LOGS> [dryRun]"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the usage message it is not obvious that the [dryRun] parameter should be true.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just wanted to mention the available options here. I guess we can explain the dryRun option in the README only?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having it in the readme is enough but in my opinion, it is still not clear what an operator should use as the second parameter.
hbase org.apache.hbase.RegionsOnUnknownServersRecoverer /var/log/hbase.log true
hbase org.apache.hbase.RegionsOnUnknownServersRecoverer /var/log/hbase.log dryRun
Anything passed that is not true will schedule SCPs because the default option is dryrun=false.
hbase-tools/README.md
Outdated
| This tool requires the master logs path as parameter. Assuming classpath is properly set, can be run as follows: | ||
|
|
||
| ``` | ||
| $ hbase org.apache.hbase.RegionsOnUnknownServersRecoverer PATH_TO_MASTER_LOGS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The dry-run option is not mentioned here.
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
Belated +1 from me. Thanks for the dryRun option, Wellington. |
…ervers' from master logs, then submit SCPs for each of those.