Skip to content

HBASE-25393 Support split and merge region with direct insert into CF… - #3488

Closed
wchevreuil wants to merge 8 commits into
apache:HBASE-24749from
wchevreuil:HBASE-25393-r
Closed

HBASE-25393 Support split and merge region with direct insert into CF…#3488
wchevreuil wants to merge 8 commits into
apache:HBASE-24749from
wchevreuil:HBASE-25393-r

Conversation

@wchevreuil

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
ContributorAuthor

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
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 7sDocker mode activated.
-0 ⚠️yetus0m 6sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚mvninstall3m 58sHBASE-24749 passed
+1 💚compile1m 2sHBASE-24749 passed
+1 💚shadedjars8m 10sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 38sHBASE-24749 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 40sthe patch passed
+1 💚compile1m 2sthe patch passed
+1 💚javac1m 2sthe patch passed
+1 💚shadedjars8m 16spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 38shbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
-1 ❌unit156m 15shbase-server in the patch failed.
187m 11s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
javadochttps://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
unithttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/1/testReport/
Max. process+thread count4585 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9

Copy link
Copy Markdown
Contributor

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
Copy Markdown
ContributorAuthor

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
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 30sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+1 💚mvninstall3m 56sHBASE-24749 passed
+1 💚compile3m 12sHBASE-24749 passed
+1 💚checkstyle1m 4sHBASE-24749 passed
+1 💚spotbugs2m 8sHBASE-24749 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 35sthe patch passed
-1 ❌compile1m 26shbase-server in the patch failed.
-0 ⚠️javac1m 26shbase-server in the patch failed.
-0 ⚠️checkstyle1m 4shbase-server: The patch generated 30 new + 40 unchanged - 3 fixed = 70 total (was 43)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck18m 19sPatch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
-1 ❌spotbugs2m 14shbase-server generated 4 new + 0 unchanged - 0 fixed = 4 total (was 0)
_ Other Tests _
+1 💚asflicense0m 16sThe patch does not generate ASF License warnings.
45m 23s
ReasonTests
FindBugsmodule: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]
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
compilehttps://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
javachttps://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
checkstylehttps://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
spotbugshttps://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 count96 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 29sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚mvninstall4m 37sHBASE-24749 passed
+1 💚compile1m 13sHBASE-24749 passed
+1 💚shadedjars8m 12sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 44sHBASE-24749 passed
_ Patch Compile Tests _
+1 💚mvninstall4m 12sthe patch passed
+1 💚compile1m 11sthe patch passed
+1 💚javac1m 11sthe patch passed
+1 💚shadedjars8m 15spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 40sthe patch passed
_ Other Tests _
-1 ❌unit144m 46shbase-server in the patch failed.
176m 16s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-11.0.10+9
unithttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/testReport/
Max. process+thread count3939 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 3sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚mvninstall3m 54sHBASE-24749 passed
+1 💚compile1m 5sHBASE-24749 passed
+1 💚shadedjars8m 11sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 39sHBASE-24749 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 42sthe patch passed
+1 💚compile1m 1sthe patch passed
+1 💚javac1m 1sthe patch passed
+1 💚shadedjars8m 12spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 38shbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
-1 ❌unit165m 45shbase-server in the patch failed.
196m 9s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
javadochttps://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
unithttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/testReport/
Max. process+thread count4012 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/3/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

…/de-serialization
Change-Id: I2d24d71d6d40ea70f0fccf42d3ab83000bd6ef88
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 7sDocker mode activated.
-0 ⚠️yetus0m 5sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚mvninstall3m 49sHBASE-24749 passed
+1 💚compile1m 1sHBASE-24749 passed
+1 💚shadedjars8m 10sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 38sHBASE-24749 passed
_ Patch Compile Tests _
-1 ❌mvninstall1m 51sroot in the patch failed.
-1 ❌compile0m 39shbase-server in the patch failed.
-0 ⚠️javac0m 39shbase-server in the patch failed.
-1 ❌shadedjars6m 11spatch has 20 errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 36shbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
-1 ❌unit0m 39shbase-server in the patch failed.
25m 44s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
mvninstallhttps://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
compilehttps://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
javachttps://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
shadedjarshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
javadochttps://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
unithttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/testReport/
Max. process+thread count88 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 13sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+1 💚mvninstall4m 38sHBASE-24749 passed
+1 💚compile3m 39sHBASE-24749 passed
+1 💚checkstyle1m 13sHBASE-24749 passed
+1 💚spotbugs2m 28sHBASE-24749 passed
_ Patch Compile Tests _
-1 ❌mvninstall2m 7sroot in the patch failed.
-1 ❌compile0m 51shbase-server in the patch failed.
-0 ⚠️javac0m 51shbase-server in the patch failed.
-0 ⚠️checkstyle1m 20shbase-server: The patch generated 30 new + 40 unchanged - 3 fixed = 70 total (was 43)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
-1 ❌hadoopcheck2m 19sThe patch causes 20 errors with Hadoop v3.1.2.
-1 ❌hadoopcheck4m 43sThe patch causes 20 errors with Hadoop v3.2.1.
-1 ❌hadoopcheck7m 9sThe patch causes 20 errors with Hadoop v3.3.0.
-1 ❌spotbugs0m 39shbase-server in the patch failed.
_ Other Tests _
+1 💚asflicense0m 12sThe patch does not generate ASF License warnings.
27m 4s
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
mvninstallhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-general-check/output/patch-mvninstall-root.txt
compilehttps://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
javachttps://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
checkstylehttps://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
hadoopcheckhttps://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
hadoopcheckhttps://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
hadoopcheckhttps://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
spotbugshttps://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 count86 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec4m 9sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+1 💚mvninstall4m 28sHBASE-24749 passed
+1 💚compile1m 14sHBASE-24749 passed
+1 💚shadedjars8m 18sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43sHBASE-24749 passed
_ Patch Compile Tests _
-1 ❌mvninstall2m 12sroot in the patch failed.
-1 ❌compile0m 45shbase-server in the patch failed.
-0 ⚠️javac0m 45shbase-server in the patch failed.
-1 ❌shadedjars6m 8spatch has 20 errors when building our shaded downstream artifacts.
+1 💚javadoc0m 40sthe patch passed
_ Other Tests _
-1 ❌unit0m 44shbase-server in the patch failed.
30m 22s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-11.0.10+9
mvninstallhttps://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
compilehttps://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
javachttps://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
shadedjarshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
unithttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/testReport/
Max. process+thread count101 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/4/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: I401d736eb3004c4e8a1fd43a0adf1be908d1178f
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 34sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall4m 28sHBASE-24749 passed
+1 💚compile2m 12sHBASE-24749 passed
+1 💚shadedjars8m 1sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 59sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 15sthe patch passed
+1 💚compile2m 13sthe patch passed
+1 💚javac2m 13sthe patch passed
+1 💚shadedjars8m 6spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 57sthe patch passed
_ Other Tests _
+1 💚unit0m 58shbase-protocol-shaded in the patch passed.
-1 ❌unit9m 24shbase-server in the patch failed.
44m 16s
SubsystemReport/Notes
DockerClientAPI=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 Testsunit javac javadoc shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-11.0.10+9
unithttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/testReport/
Max. process+thread count752 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 31sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 33sMaven dependency ordering for branch
+1 💚mvninstall3m 58sHBASE-24749 passed
+1 💚compile5m 1sHBASE-24749 passed
+1 💚checkstyle1m 20sHBASE-24749 passed
+1 💚spotbugs6m 33sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 9sthe patch passed
-1 ❌compile1m 51shbase-server in the patch failed.
-0 ⚠️cc1m 51shbase-server in the patch failed.
-0 ⚠️javac1m 51shbase-server in the patch failed.
-0 ⚠️checkstyle1m 19shbase-server: The patch generated 30 new + 40 unchanged - 3 fixed = 70 total (was 43)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck20m 23sPatch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚hbaseprotoc1m 59sthe patch passed
-1 ❌spotbugs2m 51shbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚asflicense0m 24sThe patch does not generate ASF License warnings.
67m 28s
ReasonTests
FindBugsmodule: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]
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
compilehttps://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
cchttps://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
javachttps://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
checkstylehttps://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
spotbugshttps://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 count96 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 9sDocker mode activated.
-0 ⚠️yetus0m 6sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 28sMaven dependency ordering for branch
+1 💚mvninstall3m 36sHBASE-24749 passed
+1 💚compile1m 50sHBASE-24749 passed
+1 💚shadedjars8m 11sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 51sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for patch
+1 💚mvninstall3m 38sthe patch passed
+1 💚compile1m 47sthe patch passed
+1 💚javac1m 47sthe patch passed
+1 💚shadedjars8m 15spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 37shbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
+1 💚unit0m 47shbase-protocol-shaded in the patch passed.
+1 💚unit155m 51shbase-server in the patch passed.
189m 53s
SubsystemReport/Notes
DockerClientAPI=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 Testsunit javac javadoc shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
javadochttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/testReport/
Max. process+thread count4642 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/5/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@joshelser

Copy link
Copy Markdown
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).

@joshelserjoshelser left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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?

@wchevreuilwchevreuilJul 23, 2021

Copy link
Copy Markdown
ContributorAuthor

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
Copy Markdown
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
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Ack

Change-Id: I34334a756c124ce455ea689cefe0a4e59271e967
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 37sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall5m 15sHBASE-24749 passed
+1 💚compile6m 2sHBASE-24749 passed
+1 💚checkstyle1m 50sHBASE-24749 passed
+1 💚spotbugs7m 55sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 45sthe patch passed
-1 ❌compile1m 55shbase-server in the patch failed.
-0 ⚠️cc1m 55shbase-server in the patch failed.
-0 ⚠️javac1m 55shbase-server in the patch failed.
-0 ⚠️checkstyle1m 31shbase-server: The patch generated 32 new + 40 unchanged - 3 fixed = 72 total (was 43)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck20m 19sPatch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚hbaseprotoc1m 41sthe patch passed
-1 ❌spotbugs2m 46shbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚asflicense0m 23sThe patch does not generate ASF License warnings.
71m 34s
ReasonTests
FindBugsmodule: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]
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
compilehttps://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
cchttps://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
javachttps://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
checkstylehttps://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
spotbugshttps://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 count86 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 35sDocker mode activated.
-0 ⚠️yetus0m 5sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 23sMaven dependency ordering for branch
+1 💚mvninstall4m 0sHBASE-24749 passed
+1 💚compile1m 49sHBASE-24749 passed
+1 💚shadedjars8m 20sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 53sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall3m 43sthe patch passed
+1 💚compile1m 48sthe patch passed
+1 💚javac1m 48sthe patch passed
+1 💚shadedjars8m 22spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 38shbase-server generated 5 new + 20 unchanged - 0 fixed = 25 total (was 20)
_ Other Tests _
+1 💚unit0m 48shbase-protocol-shaded in the patch passed.
+1 💚unit151m 54shbase-server in the patch passed.
185m 58s
SubsystemReport/Notes
DockerClientAPI=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 Testsunit javac javadoc shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
javadochttps://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 Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/testReport/
Max. process+thread count4339 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 44sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 26sMaven dependency ordering for branch
+1 💚mvninstall5m 24sHBASE-24749 passed
+1 💚compile2m 36sHBASE-24749 passed
+1 💚shadedjars10m 1sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 1sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall5m 8sthe patch passed
+1 💚compile2m 40sthe patch passed
+1 💚javac2m 40sthe patch passed
+1 💚shadedjars10m 13spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 0sthe patch passed
_ Other Tests _
+1 💚unit1m 1shbase-protocol-shaded in the patch passed.
+1 💚unit143m 10shbase-server in the patch passed.
185m 59s
SubsystemReport/Notes
DockerClientAPI=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 Testsunit javac javadoc shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 49b68b0
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/testReport/
Max. process+thread count4016 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/6/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: Id0dd8f1745d91bf731561e688bb1d93cbdb2176e
@wchevreuil
wchevreuil requested a review from Apache9August 3, 2021 20:50
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec7m 40sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 22sMaven dependency ordering for branch
+1 💚mvninstall4m 30sHBASE-24749 passed
+1 💚compile5m 13sHBASE-24749 passed
+1 💚checkstyle1m 20sHBASE-24749 passed
+1 💚spotbugs6m 21sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall4m 19sthe patch passed
-1 ❌compile1m 35shbase-server in the patch failed.
-0 ⚠️cc1m 35shbase-server in the patch failed.
-0 ⚠️javac1m 35shbase-server in the patch failed.
-0 ⚠️checkstyle1m 12shbase-server: The patch generated 34 new + 40 unchanged - 3 fixed = 74 total (was 43)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck22m 34sPatch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚hbaseprotoc1m 58sthe patch passed
-1 ❌spotbugs2m 52shbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚asflicense0m 26sThe patch does not generate ASF License warnings.
77m 12s
ReasonTests
FindBugsmodule: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]
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 78999ab
Default JavaAdoptOpenJDK-1.8.0_282-b08
compilehttps://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
cchttps://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
javachttps://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
checkstylehttps://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
spotbugshttps://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 count86 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/7/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: I8c7979370034ac6bca92f198e08eee40d7b0a2c8
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 45sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 20sMaven dependency ordering for branch
+1 💚mvninstall4m 25sHBASE-24749 passed
+1 💚compile5m 8sHBASE-24749 passed
+1 💚checkstyle1m 26sHBASE-24749 passed
+1 💚spotbugs6m 34sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall4m 9sthe patch passed
+1 💚compile5m 3sthe patch passed
+1 💚cc5m 3sthe patch passed
+1 💚javac5m 3sthe patch passed
-0 ⚠️checkstyle1m 11shbase-server: The patch generated 34 new + 40 unchanged - 3 fixed = 74 total (was 43)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck20m 16sPatch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚hbaseprotoc1m 40sthe patch passed
-1 ❌spotbugs2m 24shbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚asflicense0m 22sThe patch does not generate ASF License warnings.
67m 53s
ReasonTests
FindBugsmodule: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]
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 78999ab
Default JavaAdoptOpenJDK-1.8.0_282-b08
checkstylehttps://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
spotbugshttps://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 count86 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/8/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: Ice575ce75f7186e7df581b6c8441b62217a86f0a
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 10sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ HBASE-24749 Compile Tests _
+0 🆗mvndep0m 28sMaven dependency ordering for branch
+1 💚mvninstall4m 10sHBASE-24749 passed
+1 💚compile4m 48sHBASE-24749 passed
+1 💚checkstyle1m 19sHBASE-24749 passed
+1 💚spotbugs6m 24sHBASE-24749 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall4m 0sthe patch passed
+1 💚compile4m 57sthe patch passed
+1 💚cc4m 57sthe patch passed
+1 💚javac4m 57sthe patch passed
-0 ⚠️checkstyle1m 9shbase-server: The patch generated 32 new + 40 unchanged - 3 fixed = 72 total (was 43)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck20m 0sPatch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚hbaseprotoc1m 41sthe patch passed
-1 ❌spotbugs2m 24shbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
_ Other Tests _
+1 💚asflicense0m 21sThe patch does not generate ASF License warnings.
66m 4s
ReasonTests
FindBugsmodule: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]
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense cc hbaseprotoc prototool javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-24749 / 78999ab
Default JavaAdoptOpenJDK-1.8.0_282-b08
checkstylehttps://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
spotbugshttps://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 count86 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3488/9/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@wchevreuil

Copy link
Copy Markdown
ContributorAuthor

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

Sign up for freeto 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

@wchevreuil@Apache-HBase@Apache9@joshelser