-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-22944 Space Quota: TableNotFoundException: hbase:quota is thrown when region server is restarted. #559
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
2ac2927 to
d8045ef
Compare
|
💔 -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. |
|
Hi @jatsakthi, Can you review this? :) |
the-sakthi
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.
Skimmed through it. Looks good to me. Will come back to take a look again.
|
💔 -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. |
| protected void chore() { | ||
| try { | ||
| // check whether Quota table is present or not. | ||
| if (!checkQuotaTableExists()) { |
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.
This will result in a META read. This can be done only once in the life time of an RS right if we found Quota table exists? A Boolean state can help here.
Why do you think we should do a WARN log? It can be just INFO at max IMO.
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.
Hi @anoopsjohn , Thanks for the review. Added a boolean state to avoid the Meta read again and added info level log.
|
🎊 +1 overall
This message was automatically generated. |
| // check whether Quota table is present or not. | ||
| if (!quotaTablePresent && !checkQuotaTableExists()) { | ||
| LOG.info("Quota table not found, skipping quota manager cache refresh."); | ||
| quotaTablePresent = 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.
Is this right? Setting it to true? Should it be false? The table was 'not found'.
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.
ohh yes..I should set it after the if condition...my bad :)
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.
Thanks for the review. Made the changes. :)
c908fd3 to
e66e8b4
Compare
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
saintstack
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.
Good by me. Another for your list @joshelser Thanks boss.
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.
LGTM. Nice little trick on the if-block.
Let me try to get this in.
…herChore During startup, it's possible that quotas are enabled but the Master has not yet created the hbase:quotas table. Closes #559 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org>
…herChore During startup, it's possible that quotas are enabled but the Master has not yet created the hbase:quotas table. Closes #559 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org>
…herChore During startup, it's possible that quotas are enabled but the Master has not yet created the hbase:quotas table. Closes #559 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org>
| return; | ||
| } | ||
| // since quotaTable is present so setting the flag as true. | ||
| quotaTablePresent = 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.
Better we move flag setting inside checkQuotaTableExists().
Sorry for the late review.
…herChore During startup, it's possible that quotas are enabled but the Master has not yet created the hbase:quotas table. Closes apache#559 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org>
…herChore During startup, it's possible that quotas are enabled but the Master has not yet created the hbase:quotas table. Closes apache#559 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org> (cherry picked from commit f1682a1) Change-Id: Iedb0bfe9591c0957a151acc8d2b3bd31a91237d9
During Master startup if quota feature is enabled and region server is running TableNotFoundException occurs in regionServer logs
SpaceQuotaRefresherChore does not checks whether hbase:quota table is present,before starting its operation which sometimes may result to TableNotFoundExceptions.
This is because master has not created the hbase:quota table and SpaceQuotaRefresherChore is running.
This is little tricky and will happen in below scenario: