You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "HBase QA (Jira)" <ji...@apache.org> on 2019/12/05 11:38:00 UTC
[jira] [Commented] (HBASE-23370) PageFilter returns extra records
even when page is filled within a region
[ https://issues.apache.org/jira/browse/HBASE-23370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16988701#comment-16988701 ]
HBase QA commented on HBASE-23370:
----------------------------------
| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 1m 10s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 0s{color} | {color:green} No case conflicting files found. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 38s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 54s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 30s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 59s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 4m 37s{color} | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 35s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 27s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 57s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 57s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 1m 27s{color} | {color:red} hbase-server: The patch generated 1 new + 61 unchanged - 0 fixed = 62 total (was 61) {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 59s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 17m 2s{color} | {color:green} Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 45s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}224m 40s{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 23s{color} | {color:green} The patch does not generate ASF License warnings. {color} |
| {color:black}{color} | {color:black} {color} | {color:black}285m 41s{color} | {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=19.03.5 Server=19.03.5 base: https://builds.apache.org/job/PreCommit-HBASE-Build/1061/artifact/patchprocess/Dockerfile |
| JIRA Issue | HBASE-23370 |
| JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12987532/HBASE-23370.patch |
| Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile |
| uname | Linux 6bce5bde0822 4.15.0-66-generic #75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | master / 3e21bcf6d4 |
| Default Java | 1.8.0_181 |
| checkstyle | https://builds.apache.org/job/PreCommit-HBASE-Build/1061/artifact/patchprocess/diff-checkstyle-hbase-server.txt |
| Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/1061/testReport/ |
| Max. process+thread count | 4975 (vs. ulimit of 10000) |
| modules | C: hbase-server U: hbase-server |
| Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/1061/console |
| versions | git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 |
| Powered by | Apache Yetus 0.11.1 https://yetus.apache.org |
This message was automatically generated.
> PageFilter returns extra records even when page is filled within a region
> -------------------------------------------------------------------------
>
> Key: HBASE-23370
> URL: https://issues.apache.org/jira/browse/HBASE-23370
> Project: HBase
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: Junegunn Choi
> Assignee: Junegunn Choi
> Priority: Minor
> Attachments: HBASE-23370.patch
>
>
> I'm aware that the latest version of HBase has {{Scan#setLimit}} and it should nicely replace PageFilter in most use cases. However, I'd like to point out that the filter behaves strangely in the following scenario.
> Let's say we have a table with 10 regions, and each region holds 100 records.
> {code:ruby}
> create 'page-filter', 'd', SPLITS => (1..9).map(&:to_s)
> 1000.times.each { |i| put 'page-filter', format('%04d', i).reverse, 'd:foo', 'bar' }
> {code}
> And if I scan the table with {{PageFilter(30)}}, I'd expect to see only 30 records. While {{PageFilter}} does not guarantee that the number of the returned records is smaller than the specified size, we have more than 30 records in the first region, so the page will be filled and the filter should immediately terminate the scan.
> {code:ruby}
> scan 'page-filter', FILTER => 'PageFilter(30)'
> {code}
> However, this returns 300 records; 30 records from the beginning of every region. The client keeps advancing to the next region when it shouldn't, and it's because of {{results.isEmpty()}} condition in the following code:
> [https://github.com/apache/hbase/blob/12c19a6e5105d898e93e385e0cded5eabceb8a40/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java#L3552-L3558]
> I can confirm that removing the condition fixes the issue. Is the comment "_This is used to keep compatible with the old scan implementation_" still valid?
> I'll upload a patch to see how it affects the existing test cases.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)