-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
HBASE-28443 Return too slow when scanning a table with non-existing REGION_REPLICA_ID #5767
base: master
Are you sure you want to change the base?
Conversation
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
Mind explaining more on why locating is so slow when the replica id does not exist? |
Busying with other things, Sorry for the late reply. In a short, hbase would retry 8 times (by default) if the location of specified region is not obtained, and this stage take a long time. A detailed analysis for this situation against master branch We will get RegionOfflineException if region replica id does not exist. Code is in here
HBase would retry it over and over util the maxAttempts is reached when getting RegionOfflineException because this exception is not DoNotRetryIOException, Code is in here.
We are sure that the region does not exist in this situation, so no need to retry maybe is better. |
I think we should try to check the replica id when we hit the RegionOfflineException, like what we have done in AsyncRpcRetryingCaller. |
Thanks for your good suggestion, the change has been made. |
🎊 +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. |
exception.expect(DoNotRetryIOException.class); | ||
ResultScanner rs = table.getScanner(scan); | ||
try { | ||
rs.forEach(r -> Bytes.toString(r.getRow())); |
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.
Test should fail if no exception is thrown.
So I will update it.
506935a
to
909a766
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. |
Details see: HBASE-28443
Before this PR:
Apply this PR:
The old PR #5764 always run deleted test case, so i closed it, and reopen a new PR