Skip to content

Conversation

@wchevreuil
Copy link
Contributor

This is the "rename-less splits/merges" solution for HBASE-24749.

* <code></code>MergeRegionStrategy</code> implementation to be used in combination with
* <code>PersistedStoreEngine</code> to avoid renames when merging regions.
*
* To use it, define the following properties under master configuration:
Copy link
Contributor

Choose a reason for hiding this comment

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

I do not think this should be a master level config? Since different region could have different StoreEngine implementations(though I do not think we should have a PersistedStoreEngine but that's another story), we can not use the same merge strategy for them at master side?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point. Let me modify this. I guess for consistency, maybe table level configuration, rather then family level.

Copy link
Contributor

Choose a reason for hiding this comment

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

Should be family level?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Could cause confusion/inconsistencies, no? Same region splitting using different approaches to different stores?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to load both mergestrategy and write strategy from the table config.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 7s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚 mvninstall 3m 58s HBASE-24749 passed
+1 💚 compile 1m 2s HBASE-24749 passed
+1 💚 shadedjars 8m 10s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 38s HBASE-24749 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 40s the patch passed
+1 💚 compile 1m 2s the patch passed
+1 💚 javac 1m 2s the patch passed
+1 💚 shadedjars 8m 16s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 38s hbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
-1 ❌ unit 156m 15s hbase-server in the patch failed.
187m 11s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests javac javadoc unit shadedjars compile
uname Linux 461f7b3d0e62 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/1/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/1/testReport/
Max. process+thread count 4585 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9
Copy link
Contributor

Apache9 commented Jul 15, 2021

And in general, I do not think creating split/merged region in a tmp directory first is related to how to track the store files.

Unless we are using HBCK to scan the file systems to recover hbase:meta, otherwise we will just trust what we have in hbase:meta, so creating regions directly in the final place is not a problem here.

I guess why we create it in tmp directory first is because the CatalogJanitor? Not sure. But theoretically, since we do not need to scan the filesystem to get all the regions for a table when opening it, I do not think we need to introduce a Strategy to handle both cases, just change the code to write it to the final place. This could be done on master and branch-2.

Thanks.

Change-Id: I8704084516e865bf4a3b3a7adbab6dc635a31c6e
@wchevreuil
Copy link
Contributor Author

And in general, I do not think creating split/merged region in a tmp directory first is related to how to track the store files.

Unless we are using HBCK to scan the file systems to recover hbase:meta, otherwise we will just trust what we have in hbase:meta, so creating regions directly in the final place is not a problem here.

I guess why we create it in tmp directory first is because the CatalogJanitor? Not sure. But theoretically, since we do not need to scan the filesystem to get all the regions for a table when opening it, I do not think we need to introduce a Strategy to handle both cases, just change the code to write it to the final place. This could be done on master and branch-2.

Thanks.

I guess hbck recovery could be a problem for the default tracking, if the resulting merging/splitting region dir got already created in the FS, fails before completing the operation then vanishes from meta. CatalogJanitor shouldn't be a problem, as it just cleans out what it can see as "outdated" in meta table, so doesn't really care about these temp dirs. So changing the default behaviour to always write directly would require a review of hbck. I don't have more context on the motivations for the temp dirs usage, so thought about keeping the current behaviour, but allow it to be plugable.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 30s 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.
_ HBASE-24749 Compile Tests _
+1 💚 mvninstall 3m 56s HBASE-24749 passed
+1 💚 compile 3m 12s HBASE-24749 passed
+1 💚 checkstyle 1m 4s HBASE-24749 passed
+1 💚 spotbugs 2m 8s HBASE-24749 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 35s the patch passed
-1 ❌ compile 1m 26s hbase-server in the patch failed.
-0 ⚠️ javac 1m 26s hbase-server in the patch failed.
-0 ⚠️ checkstyle 1m 4s hbase-server: The patch generated 30 new + 40 unchanged - 3 fixed = 70 total (was 43)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 18m 19s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
-1 ❌ spotbugs 2m 14s hbase-server generated 4 new + 0 unchanged - 0 fixed = 4 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 16s The patch does not generate ASF License warnings.
45m 23s
Reason Tests
FindBugs module:hbase-server
Dead store to conf in org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure$DefaultMergeStrategy.mergeStoreFiles(MasterProcedureEnv, HRegionFileSystem, Path, RegionInfo) At MergeTableRegionsProcedure.java:org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure$DefaultMergeStrategy.mergeStoreFiles(MasterProcedureEnv, HRegionFileSystem, Path, RegionInfo) At MergeTableRegionsProcedure.java:[line 745]
Dead store to mfs in org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure$DefaultMergeStrategy.mergeStoreFiles(MasterProcedureEnv, HRegionFileSystem, Path, RegionInfo) At MergeTableRegionsProcedure.java:org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure$DefaultMergeStrategy.mergeStoreFiles(MasterProcedureEnv, HRegionFileSystem, Path, RegionInfo) At MergeTableRegionsProcedure.java:[line 744]
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitDaughterRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 234]
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitMergedRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 255]
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #3488
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 5f11a5a0bce0 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 96 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/console
versions git=2.17.1 maven=3.6.3 spotbugs=4.2.2
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 29s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚 mvninstall 4m 37s HBASE-24749 passed
+1 💚 compile 1m 13s HBASE-24749 passed
+1 💚 shadedjars 8m 12s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 44s HBASE-24749 passed
_ Patch Compile Tests _
+1 💚 mvninstall 4m 12s the patch passed
+1 💚 compile 1m 11s the patch passed
+1 💚 javac 1m 11s the patch passed
+1 💚 shadedjars 8m 15s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 40s the patch passed
_ Other Tests _
-1 ❌ unit 144m 46s hbase-server in the patch failed.
176m 16s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests javac javadoc unit shadedjars compile
uname Linux dfc401a3e786 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-11.0.10+9
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/testReport/
Max. process+thread count 3939 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/console
versions git=2.17.1 maven=3.6.3
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 1m 3s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚 mvninstall 3m 54s HBASE-24749 passed
+1 💚 compile 1m 5s HBASE-24749 passed
+1 💚 shadedjars 8m 11s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 39s HBASE-24749 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 42s the patch passed
+1 💚 compile 1m 1s the patch passed
+1 💚 javac 1m 1s the patch passed
+1 💚 shadedjars 8m 12s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 38s hbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
-1 ❌ unit 165m 45s hbase-server in the patch failed.
196m 9s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests javac javadoc unit shadedjars compile
uname Linux f19e7975089b 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/testReport/
Max. process+thread count 4012 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

…/de-serialization

Change-Id: I2d24d71d6d40ea70f0fccf42d3ab83000bd6ef88
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 7s Docker mode activated.
-0 ⚠️ yetus 0m 5s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚 mvninstall 3m 49s HBASE-24749 passed
+1 💚 compile 1m 1s HBASE-24749 passed
+1 💚 shadedjars 8m 10s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 38s HBASE-24749 passed
_ Patch Compile Tests _
-1 ❌ mvninstall 1m 51s root in the patch failed.
-1 ❌ compile 0m 39s hbase-server in the patch failed.
-0 ⚠️ javac 0m 39s hbase-server in the patch failed.
-1 ❌ shadedjars 6m 11s patch has 20 errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 36s hbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
-1 ❌ unit 0m 39s hbase-server in the patch failed.
25m 44s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests javac javadoc unit shadedjars compile
uname Linux 948ee02871f4 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
mvninstall https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/patch-mvninstall-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjars https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/testReport/
Max. process+thread count 88 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/console
versions git=2.17.1 maven=3.6.3
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 1m 13s 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.
_ HBASE-24749 Compile Tests _
+1 💚 mvninstall 4m 38s HBASE-24749 passed
+1 💚 compile 3m 39s HBASE-24749 passed
+1 💚 checkstyle 1m 13s HBASE-24749 passed
+1 💚 spotbugs 2m 28s HBASE-24749 passed
_ Patch Compile Tests _
-1 ❌ mvninstall 2m 7s root in the patch failed.
-1 ❌ compile 0m 51s hbase-server in the patch failed.
-0 ⚠️ javac 0m 51s hbase-server in the patch failed.
-0 ⚠️ checkstyle 1m 20s hbase-server: The patch generated 30 new + 40 unchanged - 3 fixed = 70 total (was 43)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
-1 ❌ hadoopcheck 2m 19s The patch causes 20 errors with Hadoop v3.1.2.
-1 ❌ hadoopcheck 4m 43s The patch causes 20 errors with Hadoop v3.2.1.
-1 ❌ hadoopcheck 7m 9s The patch causes 20 errors with Hadoop v3.3.0.
-1 ❌ spotbugs 0m 39s hbase-server in the patch failed.
_ Other Tests _
+1 💚 asflicense 0m 12s The patch does not generate ASF License warnings.
27m 4s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #3488
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux b1493383b338 4.15.0-142-generic #146-Ubuntu SMP Tue Apr 13 01:11:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
mvninstall https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-mvninstall-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
hadoopcheck https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-javac-3.1.2.txt
hadoopcheck https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-javac-3.2.1.txt
hadoopcheck https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-javac-3.3.0.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-spotbugs-hbase-server.txt
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/console
versions git=2.17.1 maven=3.6.3 spotbugs=4.2.2
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 4m 9s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚 mvninstall 4m 28s HBASE-24749 passed
+1 💚 compile 1m 14s HBASE-24749 passed
+1 💚 shadedjars 8m 18s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 43s HBASE-24749 passed
_ Patch Compile Tests _
-1 ❌ mvninstall 2m 12s root in the patch failed.
-1 ❌ compile 0m 45s hbase-server in the patch failed.
-0 ⚠️ javac 0m 45s hbase-server in the patch failed.
-1 ❌ shadedjars 6m 8s patch has 20 errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 40s the patch passed
_ Other Tests _
-1 ❌ unit 0m 44s hbase-server in the patch failed.
30m 22s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests javac javadoc unit shadedjars compile
uname Linux de7e6291a4d4 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-11.0.10+9
mvninstall https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk11-hadoop3-check/output/patch-mvninstall-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjars https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/testReport/
Max. process+thread count 101 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: I401d736eb3004c4e8a1fd43a0adf1be908d1178f
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 34s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 4m 28s HBASE-24749 passed
+1 💚 compile 2m 12s HBASE-24749 passed
+1 💚 shadedjars 8m 1s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 59s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 15s the patch passed
+1 💚 compile 2m 13s the patch passed
+1 💚 javac 2m 13s the patch passed
+1 💚 shadedjars 8m 6s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 57s the patch passed
_ Other Tests _
+1 💚 unit 0m 58s hbase-protocol-shaded in the patch passed.
-1 ❌ unit 9m 24s hbase-server in the patch failed.
44m 16s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests unit javac javadoc shadedjars compile
uname Linux c9fd6d1ff7ee 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-11.0.10+9
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/testReport/
Max. process+thread count 752 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/console
versions git=2.17.1 maven=3.6.3
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 31s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for branch
+1 💚 mvninstall 3m 58s HBASE-24749 passed
+1 💚 compile 5m 1s HBASE-24749 passed
+1 💚 checkstyle 1m 20s HBASE-24749 passed
+1 💚 spotbugs 6m 33s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 9s the patch passed
-1 ❌ compile 1m 51s hbase-server in the patch failed.
-0 ⚠️ cc 1m 51s hbase-server in the patch failed.
-0 ⚠️ javac 1m 51s hbase-server in the patch failed.
-0 ⚠️ checkstyle 1m 19s hbase-server: The patch generated 30 new + 40 unchanged - 3 fixed = 70 total (was 43)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 20m 23s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 hbaseprotoc 1m 59s the patch passed
-1 ❌ spotbugs 2m 51s hbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 24s The patch does not generate ASF License warnings.
67m 28s
Reason Tests
FindBugs module:hbase-server
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitDaughterRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 234]
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitMergedRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 255]
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #3488
Optional Tests dupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux ea97ea83e84b 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
cc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 96 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/console
versions git=2.17.1 maven=3.6.3 spotbugs=4.2.2
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 1m 9s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for branch
+1 💚 mvninstall 3m 36s HBASE-24749 passed
+1 💚 compile 1m 50s HBASE-24749 passed
+1 💚 shadedjars 8m 11s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 51s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 3m 38s the patch passed
+1 💚 compile 1m 47s the patch passed
+1 💚 javac 1m 47s the patch passed
+1 💚 shadedjars 8m 15s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 37s hbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
+1 💚 unit 0m 47s hbase-protocol-shaded in the patch passed.
+1 💚 unit 155m 51s hbase-server in the patch passed.
189m 53s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests unit javac javadoc shadedjars compile
uname Linux 79fb26aa9cb4 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/testReport/
Max. process+thread count 4642 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@joshelser
Copy link
Member

I guess why we create it in tmp directory first is because the CatalogJanitor? Not sure. But theoretically, since we do not need to scan the filesystem to get all the regions for a table when opening it, I do not think we need to introduce a Strategy to handle both cases, just change the code to write it to the final place. This could be done on master and branch-2.

I guess hbck recovery could be a problem for the default tracking, if the resulting merging/splitting region dir got already created in the FS, fails before completing the operation then vanishes from meta

That's a fun thought. Things like rebuilding meta from the filesystem suddenly become dubious. I think we also know that building and HBCK which is capable of identifying a "split-in-progress" is hard. Like Duo say, we can put the Region in the "correct" place and it will just be used once meta is updated.

What if we had some special marker in the Region which we cleaned up after it was opened the first time? HBCK could look for that marker and know that if we find a Region on the FS with this marker that isn't in meta, we should be able to just ignore/delete it (as a split/merge which was in-flight).

Copy link
Member

@joshelser joshelser left a comment

Choose a reason for hiding this comment

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

I think I need to give this another pass, but thought I'd publish what I have now.

Comment on lines 75 to 76
abstract protected HRegionFileSystem innerMergeRegions(MasterProcedureEnv env, FileSystem fs,
RegionInfo[] regionsToMerge, Path tableDir, RegionInfo mergedRegion) throws IOException;
Copy link
Member

Choose a reason for hiding this comment

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

Should try to come up with a better name for this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ack

for (int i = 0; i < regionsToMerge.length; i++) {
regionsToMerge[i] = ProtobufUtil.toRegionInfo(mergeTableRegionsMsg.getRegionInfo(i));
}
createMergeStrategy(mergeTableRegionsMsg.getMergeStrategy());
Copy link
Member

Choose a reason for hiding this comment

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

Need to guard against the old MergeTableRegionsStateData message not having this newly-added attribute, and default to a specific implementation (either from explicit Configuration or default value)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes.

Comment on lines +34 to +35
* <code>HRegionFileSystemWriteStrategy</code> implementation to be used in combination with
* <code>PersistedStoreEngine</code> to avoid renames when splitting and merging regions.
Copy link
Member

Choose a reason for hiding this comment

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

This makes me wonder if we should just have the WriteStrategy/MergeStrategy implementations defined in the StoreEngine implementation itself. Is there any benefit to having them separate?

I can't think of a reason (besides working around bugs) why we would want no-renames for flushes and compactions but not splits/merges.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree. We have HBASE-25396 in the roadmap, which is about sanitising all these pluggable components that should work together, so was not concerned with that in this specific jira.

@InterfaceAudience.Private
public class DirectStoreFSWriteStrategy extends HRegionFileSystemWriteStrategy {
private StoreFilePathAccessor accessor;
private Map<String, Map<String,List<Path>>> regionSplitReferences = new ConcurrentHashMap<>();
Copy link
Member

Choose a reason for hiding this comment

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

Is the ConcurrentHashMap necessary? Multiple concurrent splits accessing this?

Also, who cleans up the entries in this map?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is the ConcurrentHashMap necessary? Multiple concurrent splits accessing this?

No concurrent access, so no need for ConcurrentHashMap.

Also, who cleans up the entries in this map?

Yeah, this is a mistake. Entries are not being cleaned. Not a problem for now, as each HRegionFileSystem representing region being split is unique for the context of a single SplitProcedure, but better fix that if this is to be used in a different context.

Comment on lines 180 to 182
Path path = (this.fileSystem.regionInfoForFs.equals(regionToMerge)) ?
super.mergeStoreFile(mergedRegion, regionToMerge, familyName, f, mergedDir, fs)
: super.mergeStoreFile(regionToMerge, mergedRegion, familyName, f, mergedDir, fs);
Copy link
Member

Choose a reason for hiding this comment

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

Couldn't we require the regions to be positional (regionA, regionB) so we didn't have to do this check and flip-flop the argument order?

Also, is n-way region merges handled at a higher level?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Couldn't we require the regions to be positional (regionA, regionB) so we didn't have to do this check and flip-flop the argument order?

We could assume that since this is the direct store approach, the HRegionFileSystem instance delegating the job for this strategy is wrapping a resulting merged region and the correct order of params are then passed.

Also, is n-way region merges handled at a higher level?

Ain't sure I follow you. You mean multiple regions merge?

Comment on lines +57 to +63
public abstract Path getParentSplitsDir();

/**
* Defines the parent dir for the merges dir.
* @return
*/
public abstract Path getParentMergesDir();
Copy link
Member

Choose a reason for hiding this comment

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

I think it might be cleaner to push the RegionInfo into this call. Let the implementation decide where to put the "region dir" it's creating.

The "getParent..." terminology is a little bit confusing to me. I think I really just want to know if I'm splitting or merging a region, where does the new region(s) get created?

Copy link
Contributor Author

@wchevreuil wchevreuil Jul 23, 2021

Choose a reason for hiding this comment

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

I think it might be cleaner to push the RegionInfo into this call. Let the implementation decide where to put the "region dir" it's creating.

So this is called by HRegionFileSystem.getMergesDir. In the original implementation, what HRegionFileSystem.getMergesDir returns is a parent dir of the result merging region dir. Implementations are deciding where result merging region dir is gonna be created (TBL_DIR/R1/.merges for the default strategy, TBL_DIR/ for the direct store one).

The "getParent..." terminology is a little bit confusing to me. I think I really just want to know if I'm splitting or merging a region, where does the new region(s) get created?

:) Eh, I got confused by the original naming. When looking at HRegionFileSystem.getMergesDir, HRegionFileSystem.getSplitsDir, I was expecting those to already give me the merge/splits paths, not just the parents where those were to be created. I can rename these methods accordingly, though.

public void createSplitsDir(RegionInfo daughterA, RegionInfo daughterB) throws IOException {
Path splitdir = getParentSplitsDir();
if (this.fileSystem.fs.exists(splitdir)) {
LOG.info("The " + splitdir + " directory exists. Hence deleting it to recreate it");
Copy link
Member

Choose a reason for hiding this comment

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

nit, move over to the slf4j marker message

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ack

Change-Id: I34334a756c124ce455ea689cefe0a4e59271e967
@wchevreuil wchevreuil requested a review from joshelser July 23, 2021 16:09
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 37s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 5m 15s HBASE-24749 passed
+1 💚 compile 6m 2s HBASE-24749 passed
+1 💚 checkstyle 1m 50s HBASE-24749 passed
+1 💚 spotbugs 7m 55s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 45s the patch passed
-1 ❌ compile 1m 55s hbase-server in the patch failed.
-0 ⚠️ cc 1m 55s hbase-server in the patch failed.
-0 ⚠️ javac 1m 55s hbase-server in the patch failed.
-0 ⚠️ checkstyle 1m 31s hbase-server: The patch generated 32 new + 40 unchanged - 3 fixed = 72 total (was 43)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 20m 19s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 hbaseprotoc 1m 41s the patch passed
-1 ❌ spotbugs 2m 46s hbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 23s The patch does not generate ASF License warnings.
71m 34s
Reason Tests
FindBugs module:hbase-server
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitDaughterRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 233]
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitMergedRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 255]
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #3488
Optional Tests dupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 9f50943ce661 4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:21:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
cc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/console
versions git=2.17.1 maven=3.6.3 spotbugs=4.2.2
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 35s Docker mode activated.
-0 ⚠️ yetus 0m 5s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for branch
+1 💚 mvninstall 4m 0s HBASE-24749 passed
+1 💚 compile 1m 49s HBASE-24749 passed
+1 💚 shadedjars 8m 20s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 53s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 43s the patch passed
+1 💚 compile 1m 48s the patch passed
+1 💚 javac 1m 48s the patch passed
+1 💚 shadedjars 8m 22s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 38s hbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
+1 💚 unit 0m 48s hbase-protocol-shaded in the patch passed.
+1 💚 unit 151m 54s hbase-server in the patch passed.
185m 58s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests unit javac javadoc shadedjars compile
uname Linux 4fee84f645fc 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-1.8.0_282-b08
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/testReport/
Max. process+thread count 4339 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/console
versions git=2.17.1 maven=3.6.3
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 44s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for branch
+1 💚 mvninstall 5m 24s HBASE-24749 passed
+1 💚 compile 2m 36s HBASE-24749 passed
+1 💚 shadedjars 10m 1s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 5m 8s the patch passed
+1 💚 compile 2m 40s the patch passed
+1 💚 javac 2m 40s the patch passed
+1 💚 shadedjars 10m 13s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s the patch passed
_ Other Tests _
+1 💚 unit 1m 1s hbase-protocol-shaded in the patch passed.
+1 💚 unit 143m 10s hbase-server in the patch passed.
185m 59s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #3488
Optional Tests unit javac javadoc shadedjars compile
uname Linux 4dde273adeaf 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 49b68b0
Default Java AdoptOpenJDK-11.0.10+9
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/testReport/
Max. process+thread count 4016 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: Id0dd8f1745d91bf731561e688bb1d93cbdb2176e
@wchevreuil wchevreuil requested a review from Apache9 August 3, 2021 20:50
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 7m 40s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for branch
+1 💚 mvninstall 4m 30s HBASE-24749 passed
+1 💚 compile 5m 13s HBASE-24749 passed
+1 💚 checkstyle 1m 20s HBASE-24749 passed
+1 💚 spotbugs 6m 21s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 4m 19s the patch passed
-1 ❌ compile 1m 35s hbase-server in the patch failed.
-0 ⚠️ cc 1m 35s hbase-server in the patch failed.
-0 ⚠️ javac 1m 35s hbase-server in the patch failed.
-0 ⚠️ checkstyle 1m 12s hbase-server: The patch generated 34 new + 40 unchanged - 3 fixed = 74 total (was 43)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 22m 34s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 hbaseprotoc 1m 58s the patch passed
-1 ❌ spotbugs 2m 52s hbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 26s The patch does not generate ASF License warnings.
77m 12s
Reason Tests
FindBugs module:hbase-server
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitDaughterRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 231]
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitMergedRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 253]
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #3488
Optional Tests dupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux fd89c336d6bb 4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:21:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 78999ab
Default Java AdoptOpenJDK-1.8.0_282-b08
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
cc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/console
versions git=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: I8c7979370034ac6bca92f198e08eee40d7b0a2c8
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 45s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 4m 25s HBASE-24749 passed
+1 💚 compile 5m 8s HBASE-24749 passed
+1 💚 checkstyle 1m 26s HBASE-24749 passed
+1 💚 spotbugs 6m 34s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 4m 9s the patch passed
+1 💚 compile 5m 3s the patch passed
+1 💚 cc 5m 3s the patch passed
+1 💚 javac 5m 3s the patch passed
-0 ⚠️ checkstyle 1m 11s hbase-server: The patch generated 34 new + 40 unchanged - 3 fixed = 74 total (was 43)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 20m 16s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 hbaseprotoc 1m 40s the patch passed
-1 ❌ spotbugs 2m 24s hbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 22s The patch does not generate ASF License warnings.
67m 53s
Reason Tests
FindBugs module:hbase-server
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitDaughterRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 231]
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitMergedRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 253]
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/8/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #3488
Optional Tests dupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 982181c5af8a 4.15.0-142-generic #146-Ubuntu SMP Tue Apr 13 01:11:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 78999ab
Default Java AdoptOpenJDK-1.8.0_282-b08
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/8/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/8/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/8/console
versions git=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: Ice575ce75f7186e7df581b6c8441b62217a86f0a
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 10s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for branch
+1 💚 mvninstall 4m 10s HBASE-24749 passed
+1 💚 compile 4m 48s HBASE-24749 passed
+1 💚 checkstyle 1m 19s HBASE-24749 passed
+1 💚 spotbugs 6m 24s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 4m 0s the patch passed
+1 💚 compile 4m 57s the patch passed
+1 💚 cc 4m 57s the patch passed
+1 💚 javac 4m 57s the patch passed
-0 ⚠️ checkstyle 1m 9s hbase-server: The patch generated 32 new + 40 unchanged - 3 fixed = 72 total (was 43)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 20m 0s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 hbaseprotoc 1m 41s the patch passed
-1 ❌ spotbugs 2m 24s hbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 21s The patch does not generate ASF License warnings.
66m 4s
Reason Tests
FindBugs module:hbase-server
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitDaughterRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 230]
org.apache.hadoop.hbase.regionserver.DirectStoreFSWriteStrategy.commitMergedRegion(RegionInfo) makes inefficient use of keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:keySet iterator instead of entrySet iterator At DirectStoreFSWriteStrategy.java:[line 252]
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/9/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #3488
Optional Tests dupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 6e9453145a42 4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:21:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 78999ab
Default Java AdoptOpenJDK-1.8.0_282-b08
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/9/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/9/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/9/console
versions git=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@wchevreuil wchevreuil closed this Aug 19, 2021
@wchevreuil
Copy link
Contributor Author

This PR is not relevant anymore now that we have the changes of HBASE-26187 merged into master and branch-2.

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.

4 participants