-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-24632 Enable procedure-based log splitting as default in hbase3 #2006
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
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
+1 |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
virajjasani
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.
Changes are good but PR destination should be master?
| * @deprecated since 2.4.0 and in 3.0.0, to be removed in 4.0.0. | ||
| */ | ||
| @Deprecated | ||
| public static final boolean DEFAULT_HBASE_SPLIT_COORDINATED_BY_ZK = false; |
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.
We want this change only in master branch and not in branch-2 right?
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.
Dunno. I think we should enable it for 2.4... let me say so up on the JIRA and see what folks say.
|
We have some WAL test failures with this setting. |
|
Test faillures are because we try to delete a non-empty directory. The left-over WALs are meta WALs but for meta regions that have since moved to another server (after a successful close); i.e. they WALs are no longer needed... They are for archive. The old zk-based WAL splitter specifically handled this case archiving remaining meta files if the crashed server was NOT carrying meta. Added this special handling to the new procedure-based WAL split which was missing it. |
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
| * the ServerCrashProcedure won't split these leftover hbase:meta WALs, just leaving them in | ||
| * the WAL splitting dir. If we try to delete the WAL splitting for the server, it fail since | ||
| * the dir is not totally empty. We can safely archive these hbase:meta log; then the | ||
| * WAL dir can be deleted. |
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.
Ya this was an issue in zk based split also and later fixed I guess. One Q. When the META region was moved to another RS, the meta wal file would have been closed right? Later the file would have been archived by the chore. This is how normal wal files will get archived. So is that not at all happening for META wals? Or it is happening but in test, the Chore did not get a chance to archive it yet.
This fix is needed anyways. Am trying to see do we have another issue also
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.
Makes sense Anoop. I think its just that its there when the split wal finishes... It is quiet possible chore has not run yet. Indeed the meta has to have closed cleanly.
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
We weren't handling corrupt WALs |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
… Add deprecation of 'classic' zk-based WAL splitter. Also fix three bugs: * We were trying to delete non-empty directory; weren't doing accounting for meta WALs where meta had moved off the server (successfully) * We were deleting split WALs rather than archiving them. * We were not handling corrupt files. Deprecations and removal of tests of old system.
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
Merged manually |
No description provided.