-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-29722 (backport portion of HBASE-27558) Coproc - data integrity issues for scan with heavy filters #7470
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-29722 (backport portion of HBASE-27558) Coproc - data integrity issues for scan with heavy filters #7470
Conversation
…ckport portion of HBASE-27558)
|
Test that reproduce this issue apache/phoenix#2319 It fails with |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
sanjeet006py
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.
Nice find!!
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
apurtell
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.
Please add a unit test.
| limitReached = sizeLimitReached || timeLimitReached || resultsLimitReached; | ||
|
|
||
| if (limitReached || !moreRows) { | ||
| // With block size limit, we may exceed size limit without collecting any results. |
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.
Please improve this 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.
This comment is from backport
|
I will be on vacation for two weeks starting tomorrow. Another committer should feel free to merge after my comment is addressed. |
|
@apurtell, @sanjeet006py and I have been trying to reproduce the issue in hbase directly but it seems we are not able to. This does not impact direct scan on the table. |
|
@rmdmattingly @bbeaudreault any suggestions on whether we should merge this directly based on branch-2.6 coverage? Although i am not sure if 2.6+ also have coverage for this. |
|
🎊 +1 overall
This message was automatically generated. |
| boolean sizeLimitReached = scannerContext.checkSizeLimit(LimitScope.BETWEEN_ROWS); | ||
| boolean timeLimitReached = scannerContext.checkTimeLimit(LimitScope.BETWEEN_ROWS); | ||
| boolean resultsLimitReached = numOfResults >= maxResults; | ||
| limitReached = sizeLimitReached || timeLimitReached || resultsLimitReached; |
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.
Not in the scope of this backport ticket, but why do we check only those two limits ?
is batch size not applicable here ? Why do we ignore the heap size limit ?
Maybe worth looking into this in another JIRA.
stoty
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.
+1 LGTM
|
🎊 +1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
Jira: HBASE-29722