Skip to content

HBASE-26797 HBase 1.x clients will choke on rep_barrier rows when scanning hbase 2.x meta #4161

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

Merged
merged 2 commits into from
Mar 4, 2022

Conversation

bbeaudreault
Copy link
Contributor

I found it really hard to add a test case for this. I think i'd need to modify meta to add a dummy extra CF and then put a bad row in there and validate that it gets ignored by these reads. That should be straightforward, but alters to meta are disallowed in a few places. I could probably add some sort of internal-only config to disable those checks for the purpose of test, or maybe a setter which sets a volatile value? It's hard to access them from the TestingUtility, but maybe doable. Let me know if you'd like me to go through those efforts to test this, but I think it might not be worth it?

@@ -220,6 +220,7 @@ private static Result getClosestRowOrBefore(final Table metaTable, final TableNa
throws IOException {
byte[] searchRow = HRegionInfo.createRegionName(userTableName, row, HConstants.NINES, false);
Scan scan = Scan.createGetClosestRowOrBeforeReverseScan(searchRow);
scan.addFamily(HConstants.CATALOG_FAMILY);
Copy link
Contributor Author

@bbeaudreault bbeaudreault Mar 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The real error comes from ConnectionManager, but I tried to audit all reads against meta table and this was the only other one (that I could find) which did not have a family specified. I figured I should add it while I'm here even if we haven't hit an issue with this yet.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 4m 39s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 1s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ branch-1 Compile Tests _
+1 💚 mvninstall 10m 9s branch-1 passed
+1 💚 compile 0m 12s branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 compile 0m 15s branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+1 💚 checkstyle 0m 29s branch-1 passed
+1 💚 shadedjars 2m 6s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 30s branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 javadoc 0m 15s branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+0 🆗 spotbugs 1m 13s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 1m 12s branch-1 passed
_ Patch Compile Tests _
+1 💚 mvninstall 1m 14s the patch passed
+1 💚 compile 0m 11s the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 javac 0m 11s the patch passed
+1 💚 compile 0m 15s the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+1 💚 javac 0m 15s the patch passed
+1 💚 checkstyle 0m 19s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 1m 49s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 3m 40s Patch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚 javadoc 0m 12s the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 javadoc 0m 15s the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+1 💚 findbugs 0m 55s the patch passed
_ Other Tests _
+1 💚 unit 2m 3s hbase-client in the patch passed.
+1 💚 asflicense 0m 17s The patch does not generate ASF License warnings.
33m 29s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/1/artifact/out/Dockerfile
GITHUB PR #4161
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux f89617504b3b 5.4.0-1054-aws #57~18.04.1-Ubuntu SMP Thu Jul 15 03:21:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-4161/out/precommit/personality/provided.sh
git revision branch-1 / 7bb40b3
Default Java Azul Systems, Inc.-1.7.0_272-b10
Multi-JDK versions /usr/lib/jvm/zulu-8-amd64:Azul Systems, Inc.-1.8.0_262-b19 /usr/lib/jvm/zulu-7-amd64:Azul Systems, Inc.-1.7.0_272-b10
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/1/testReport/
Max. process+thread count 128 (vs. ulimit of 10000)
modules C: hbase-client U: hbase-client
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/1/console
versions git=2.17.1 maven=3.6.0 findbugs=3.0.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@apurtell apurtell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, but please add comments adjacent to the added statements with at least a reference to the JIRA

@bbeaudreault
Copy link
Contributor Author

Thanks for the review, I'll add that tomorrow.

@bbeaudreault
Copy link
Contributor Author

@apurtell done -- I'm assuming that's for added protection against a future regression, given the lack of a test. But correct me if I'm wrong, for my own edification.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 4m 32s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗 mvndep 2m 48s Maven dependency ordering for branch
+1 💚 mvninstall 7m 51s branch-1 passed
+1 💚 compile 0m 33s branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 compile 0m 42s branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+1 💚 checkstyle 1m 19s branch-1 passed
+1 💚 shadedjars 2m 3s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 39s branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 javadoc 0m 38s branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+0 🆗 spotbugs 1m 37s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 2m 47s branch-1 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 1m 18s the patch passed
+1 💚 compile 0m 34s the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 javac 0m 34s the patch passed
+1 💚 compile 0m 43s the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+1 💚 javac 0m 43s the patch passed
+1 💚 checkstyle 1m 11s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
-1 ❌ shadedjars 1m 15s patch has 10 errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 3m 14s Patch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚 javadoc 0m 29s the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19
+1 💚 javadoc 0m 39s the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10
+1 💚 findbugs 2m 41s the patch passed
_ Other Tests _
+1 💚 unit 2m 5s hbase-client in the patch passed.
-1 ❌ unit 115m 58s hbase-server in the patch failed.
-1 ❌ asflicense 0m 37s The patch generated 1 ASF License warnings.
157m 34s
Reason Tests
Failed junit tests hadoop.hbase.replication.multiwal.TestReplicationEndpointWithMultipleWAL
hadoop.hbase.regionserver.TestRegionProcessRowsWithLocks
hadoop.hbase.replication.TestReplicationEndpoint
hadoop.hbase.client.TestLookupRegionMetaFamilyFilter
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/2/artifact/out/Dockerfile
GITHUB PR #4161
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 7b2cca033300 5.4.0-1054-aws #57~18.04.1-Ubuntu SMP Thu Jul 15 03:21:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-4161/out/precommit/personality/provided.sh
git revision branch-1 / 7bb40b3
Default Java Azul Systems, Inc.-1.7.0_272-b10
Multi-JDK versions /usr/lib/jvm/zulu-8-amd64:Azul Systems, Inc.-1.8.0_262-b19 /usr/lib/jvm/zulu-7-amd64:Azul Systems, Inc.-1.7.0_272-b10
shadedjars https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/2/artifact/out/patch-shadedjars.txt
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/2/artifact/out/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/2/testReport/
asflicense https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/2/artifact/out/patch-asflicense-problems.txt
Max. process+thread count 4078 (vs. ulimit of 10000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/2/console
versions git=2.17.1 maven=3.6.0 findbugs=3.0.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ docker 0m 12s Docker failed to build run-specific yetus/hbase:tp-8361}.
Subsystem Report/Notes
GITHUB PR #4161
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4161/3/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@apurtell
Copy link
Contributor

apurtell commented Mar 4, 2022

Correct, its so we know not to remove them without thought toward this issue since there isn't a test for it

@apurtell apurtell merged commit acc7299 into apache:branch-1 Mar 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants