Uh oh!
There was an error while loading. Please reload this page.
HBASE-28443 Return too slow when scanning a table with non-existing REGION_REPLICA_ID - #5767
HBASE-28443 Return too slow when scanning a table with non-existing REGION_REPLICA_ID#5767guluo2016 wants to merge 3 commits into
Conversation
Apache-HBase
commented
Mar 20, 2024
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 20, 2024
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 20, 2024
💔 -1 overall
This message was automatically generated. |
Apache9
commented
Mar 21, 2024
Mind explaining more on why locating is so slow when the replica id does not exist? |
guluo2016
commented
Mar 23, 2024
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. |
Apache9
commented
Mar 24, 2024
I think we should try to check the replica id when we hit the RegionOfflineException, like what we have done in AsyncRpcRetryingCaller. |
guluo2016
commented
Mar 26, 2024
Thanks for your good suggestion, the change has been made. |
Apache-HBase
commented
Mar 26, 2024
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 26, 2024
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 26, 2024
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Mar 26, 2024
💔 -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.
Test should fail if no exception is thrown.
So I will update it.
Apache-HBase
commented
May 26, 2024
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
May 26, 2024
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
May 26, 2024
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
May 26, 2024
💔 -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