Uh oh!
There was an error while loading. Please reload this page.
HBASE-26267 Don't try to recover WALs from a WAL dir which doesn't exist - #3679
Conversation
Apache-HBase
commented
Sep 13, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Sep 13, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Sep 14, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Sep 14, 2021
🎊 +1 overall
This message was automatically generated. |
Uh oh!
There was an error while loading. Please reload this page.
| create(); | ||
| } | ||
| public void create() throws IOException { |
There was a problem hiding this comment.
Better give it a more specific name? And does it need to be public? Protected is enough?
| // Re-create the MasterRegion and hit the MasterRegion#open() code-path | ||
| // (rather than bootstrap()) | ||
| super.create(); |
There was a problem hiding this comment.
This call is a bit confusing to me that, why there is a ‘super’. I think if we change create to a more specific name, we could just call the method directly, without adding the ‘super’ here?
Apache-HBase
commented
Sep 14, 2021
🎊 +1 overall
This message was automatically generated. |
joshelser
commented
Sep 14, 2021
Thanks for the review, Duo! I tried to address your comments. |
Apache-HBase
commented
Sep 14, 2021
🎊 +1 overall
This message was automatically generated. |
z-york
commented
Sep 14, 2021
@joshelser I had solved this by just creating the walsDir here if it didn't exist, is there a reason you decided to skip it instead of create the dir? If we just create the directory it will naturally be empty and skip the rest of the "replayWals" function that you added. |
Apache-HBase
commented
Sep 14, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Sep 15, 2021
🎊 +1 overall
This message was automatically generated. |
joshelser
commented
Sep 15, 2021
No intentional reason :). It looks like |
joshelser
commented
Sep 15, 2021
Shy of this failure, I"m not sure why Jenkins is unhappy. Will wait to see if Zach would like me to update this before trying to retrigger QA. |
Apache9
left a comment
There was a problem hiding this comment.
Overall LGTM, only a small concern on the log level, not a blocker.
| if (walFs.exists(walsDir)) { | ||
| replayWALs(conf, walFs, walRootDir, walsDir, regionInfo, serverName, replayEditsDir); | ||
| } else { | ||
| LOG.warn("UNEXPECTED: WAL directory for MasterRegion is missing." |
There was a problem hiding this comment.
Better use LOG.error here and say it may cause data loss? In general, removing directories directly outside the HBase control is a dangerous operation...
joshelser
commented
Oct 12, 2021
Let me fix Duo's suggestion and then merge. |
3a8f867 to
8e7b55bCompareApache-HBase
commented
Oct 12, 2021
🎊 +1 overall
This message was automatically generated. |
z-york
commented
Oct 12, 2021
Nope, I don't feel strongly. Feel free to merge once Duo signs off on the method naming. |
Apache-HBase
commented
Oct 13, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 13, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 21, 2021
💔 -1 overall
This message was automatically generated. |
1 similar comment
Apache-HBase
commented
Oct 21, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Oct 21, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Nov 2, 2021
💔 -1 overall
This message was automatically generated. |
1 similar comment
Apache-HBase
commented
Nov 2, 2021
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Nov 2, 2021
💔 -1 overall
This message was automatically generated. |
Apache9
commented
Nov 2, 2021
A bit strange... Github report there are no conflicts but our pre commit job can not apply the patch to master... @joshelser Mind rebasing here? Thanks. |
Apache9
commented
Nov 16, 2021
Any updates here? @joshelser |
joshelser
commented
Nov 16, 2021
Sorry, Duo. Yep, on it. |
We currently cause an error to be thrown by trying to list a non-existent directory. We see that the master region directory exists on the filesystem, but forget to make sure that the master region's WAL directory also exists before we try to list it.
8e7b55b to
e1da6b5CompareApache-HBase
commented
Nov 16, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Nov 16, 2021
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Nov 16, 2021
🎊 +1 overall
This message was automatically generated. |
…ist (#3679) We currently cause an error to be thrown by trying to list a non-existent directory. We see that the master region directory exists on the filesystem, but forget to make sure that the master region's WAL directory also exists before we try to list it.
…ist (#3679) We currently cause an error to be thrown by trying to list a non-existent directory. We see that the master region directory exists on the filesystem, but forget to make sure that the master region's WAL directory also exists before we try to list it.
We currently cause an error to be thrown by trying to list a
non-existent directory. We see that the master region directory exists
on the filesystem, but forget to make sure that the master region's WAL
directory also exists before we try to list it.
I had to change the TestBase class because
create()would create a new HTU which ended up creating a new test-directory every time. When we have a new test directory, we always hit bootstrap() instead of open() (which is what had the bug).