Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HBASE-28469: Integration of time-based priority caching into compaction paths #5866

Merged
merged 7 commits into from
May 22, 2024

Conversation

vinayakphegde
Copy link
Contributor

This PR introduces time-based priority caching for the hbase.rs.cachecompactedblocksonwrite configuration. This feature enhances block caching efficiency by prioritizing blocks based on their time stamps during the writing of compacted files.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 28s 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-28463 Compile Tests _
+1 💚 mvninstall 3m 18s HBASE-28463 passed
+1 💚 compile 2m 38s HBASE-28463 passed
+1 💚 checkstyle 0m 37s HBASE-28463 passed
+1 💚 spotless 0m 45s branch has no errors when running spotless:check.
+1 💚 spotbugs 1m 34s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 54s the patch passed
+1 💚 compile 2m 39s the patch passed
+1 💚 javac 2m 39s the patch passed
+1 💚 checkstyle 0m 36s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 35s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 43s patch has no errors when running spotless:check.
-1 ❌ spotbugs 1m 41s hbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 11s The patch does not generate ASF License warnings.
30m 40s
Reason Tests
FindBugs module:hbase-server
Class org.apache.hadoop.hbase.io.hfile.BlockCacheKey defines non-transient non-serializable instance field maxTimestamp In BlockCacheKey.java:instance field maxTimestamp In BlockCacheKey.java
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux c7266c11c7dc 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
spotbugs https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 85 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.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 56s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 4m 26s HBASE-28463 passed
+1 💚 compile 1m 5s HBASE-28463 passed
+1 💚 shadedjars 6m 21s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 32s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 48s the patch passed
+1 💚 compile 1m 0s the patch passed
+1 💚 javac 1m 0s the patch passed
+1 💚 shadedjars 6m 15s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 34s the patch passed
_ Other Tests _
-1 ❌ unit 28m 19s hbase-server in the patch failed.
55m 13s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 5bc64b698b8b 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/testReport/
Max. process+thread count 2162 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/console
versions git=2.34.1 maven=3.8.6
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 54s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 4m 9s HBASE-28463 passed
+1 💚 compile 0m 57s HBASE-28463 passed
+1 💚 shadedjars 6m 26s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 31s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 27s the patch passed
+1 💚 compile 0m 45s the patch passed
+1 💚 javac 0m 45s the patch passed
+1 💚 shadedjars 6m 24s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 26s the patch passed
_ Other Tests _
-1 ❌ unit 263m 11s hbase-server in the patch failed.
293m 23s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 88bb009b42fd 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Temurin-1.8.0_352-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/testReport/
Max. process+thread count 5341 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/1/console
versions git=2.34.1 maven=3.8.6
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 27s 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-28463 Compile Tests _
+1 💚 mvninstall 3m 4s HBASE-28463 passed
+1 💚 compile 2m 37s HBASE-28463 passed
+1 💚 checkstyle 0m 37s HBASE-28463 passed
+1 💚 spotless 0m 42s branch has no errors when running spotless:check.
+1 💚 spotbugs 1m 30s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 56s the patch passed
+1 💚 compile 2m 36s the patch passed
+1 💚 javac 2m 36s the patch passed
+1 💚 checkstyle 0m 36s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 33s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 42s patch has no errors when running spotless:check.
+1 💚 spotbugs 1m 39s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 9s The patch does not generate ASF License warnings.
29m 56s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux f117fcdea789 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 81 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/2/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.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 53s 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-28463 Compile Tests _
+1 💚 mvninstall 3m 17s HBASE-28463 passed
+1 💚 compile 2m 35s HBASE-28463 passed
+1 💚 checkstyle 0m 38s HBASE-28463 passed
+1 💚 spotless 0m 44s branch has no errors when running spotless:check.
+1 💚 spotbugs 1m 32s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 49s the patch passed
+1 💚 compile 2m 35s the patch passed
+1 💚 javac 2m 35s the patch passed
+1 💚 checkstyle 0m 35s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 26s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 41s patch has no errors when running spotless:check.
+1 💚 spotbugs 1m 35s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 10s The patch does not generate ASF License warnings.
30m 13s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux a23664a3be12 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 79 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/3/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.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 10m 3s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
-1 ❌ mvninstall 29m 33s root in HBASE-28463 failed.
+1 💚 compile 0m 53s HBASE-28463 passed
+1 💚 shadedjars 8m 31s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 29s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 4m 0s the patch passed
+1 💚 compile 1m 11s the patch passed
+1 💚 javac 1m 11s the patch passed
+1 💚 shadedjars 6m 47s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 27s the patch passed
_ Other Tests _
-1 ❌ unit 596m 4s hbase-server in the patch failed.
668m 42s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux f3eee3bdfb4b 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Temurin-1.8.0_352-b08
mvninstall https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/3/artifact/yetus-jdk8-hadoop3-check/output/branch-mvninstall-root.txt
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/3/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/3/testReport/
Max. process+thread count 4434 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/3/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@@ -555,16 +563,33 @@ private void writeInlineBlocks(boolean closing) throws IOException {
private void doCacheOnWrite(long offset) {
cacheConf.getBlockCache().ifPresent(cache -> {
HFileBlock cacheFormatBlock = blockWriter.getBlockForCaching(cacheConf);
BlockCacheKey key = buildBlockCacheKey(offset, cacheFormatBlock);
if (!shouldCacheBlock(cache, key)) {
Copy link

@jhungund jhungund May 7, 2024

Choose a reason for hiding this comment

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

I see that shouldCacheBlock internally makes a call to isHotData (key), which would go all the way to fetch the file metadata and decide if the file is hot or not. Would this be called per block? If so, would it impact the performance adversely? Can we somehow restrict these traversals to once per file instead of once per block.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

which would go all the way to fetch the file metadata and decide if the file is hot or not.

Yes, it will look up the Configuration which corresponds to the store to which this file belongs to from the map. However, it won't read any file-related metadata, since we are already passing the maxTimestamp here.

Would this be called per block?

Yes, it is called for every block.

would it impact the performance adversely?

Yes, I think it will add some performance overhead.

Can we somehow restrict these traversals to once per file instead of once per block.

I couldn't think of any better solution at the moment.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, the work we do inside DataTieringManager to figure out the store config is a problem, the way it is implemented here, we will be doing for every block, even though the config is exactly the same. Worse, we already have that info passed before to HFileWriterImpl. StoreFileWriter already has the HStore config and this is passed along to HFileWriterImpl at initialization time. We should keep this config as global variable in HFileWriterImpl. Then we should change the added shouldCacheBlock method in the BlockCache API to accept the config as parameter, or maybe wrap it with the key itself.

Copy link

Choose a reason for hiding this comment

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

All we need is the hot-data-age now. the max timestamp is already present now. If we make the hot-data-age available to shouldCacheBlock, the round trips to get the config, can be avoided within DataTieringManager.

Copy link
Contributor

Choose a reason for hiding this comment

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

Let's minimize the number of line changes. We don't need all these refactoring moving TimeRangeTracker update logic from StoreFileWriter to HFileWriterImpl if we just pass the same TimeRangeTracker instance to HFileWriterImpl.

@@ -555,16 +563,33 @@ private void writeInlineBlocks(boolean closing) throws IOException {
private void doCacheOnWrite(long offset) {
cacheConf.getBlockCache().ifPresent(cache -> {
HFileBlock cacheFormatBlock = blockWriter.getBlockForCaching(cacheConf);
BlockCacheKey key = buildBlockCacheKey(offset, cacheFormatBlock);
if (!shouldCacheBlock(cache, key)) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, the work we do inside DataTieringManager to figure out the store config is a problem, the way it is implemented here, we will be doing for every block, even though the config is exactly the same. Worse, we already have that info passed before to HFileWriterImpl. StoreFileWriter already has the HStore config and this is passed along to HFileWriterImpl at initialization time. We should keep this config as global variable in HFileWriterImpl. Then we should change the added shouldCacheBlock method in the BlockCache API to accept the config as parameter, or maybe wrap it with the key itself.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 32s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 2m 59s HBASE-28463 passed
+1 💚 compile 2m 28s HBASE-28463 passed
+1 💚 checkstyle 0m 37s HBASE-28463 passed
+1 💚 spotless 0m 43s branch has no errors when running spotless:check.
+1 💚 spotbugs 1m 27s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 44s the patch passed
+1 💚 compile 2m 25s the patch passed
+1 💚 javac 2m 25s the patch passed
+1 💚 checkstyle 0m 32s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 7s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 41s patch has no errors when running spotless:check.
+1 💚 spotbugs 1m 38s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 11s The patch does not generate ASF License warnings.
28m 25s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux 29de21a8014d 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 80 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.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 2m 19s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 6m 30s HBASE-28463 passed
+1 💚 compile 1m 4s HBASE-28463 passed
+1 💚 shadedjars 6m 22s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 41s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 36s the patch passed
+1 💚 compile 1m 1s the patch passed
+1 💚 javac 1m 1s the patch passed
+1 💚 shadedjars 6m 13s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 36s the patch passed
_ Other Tests _
-1 ❌ unit 329m 43s hbase-server in the patch failed.
363m 14s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux f09c6501d87f 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/testReport/
Max. process+thread count 4501 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/console
versions git=2.34.1 maven=3.8.6
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 2m 20s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 5m 53s HBASE-28463 passed
+1 💚 compile 0m 51s HBASE-28463 passed
+1 💚 shadedjars 6m 30s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 30s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 21s the patch passed
+1 💚 compile 0m 53s the patch passed
+1 💚 javac 0m 53s the patch passed
+1 💚 shadedjars 6m 22s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 26s the patch passed
_ Other Tests _
-1 ❌ unit 344m 47s hbase-server in the patch failed.
376m 27s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 8f1223f72dea 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Temurin-1.8.0_352-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/testReport/
Max. process+thread count 4639 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/4/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@wchevreuil wchevreuil left a comment

Choose a reason for hiding this comment

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

LGTM, +1.

@jhungund do you have any further concerns?

public Optional<Boolean> shouldCacheBlock(BlockCacheKey key, Configuration conf) {
try {
DataTieringManager dataTieringManager = DataTieringManager.getInstance();
if (dataTieringManager != null && !dataTieringManager.isHotData(key, conf)) {

Choose a reason for hiding this comment

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

@vinayakphegde, @wchevreuil,
We are only transiently using the timestamp within BlockCacheKey in this API. But, we are keeping this value permanently in the BlockCacheKey increasing the size of the BlockCacheKey and keeping the timestamp redundantly, which will not be used later. This overhead can be avoided by passing the required data as arguments to this function shouldCacheBlock.
All we need is this type of a function:
shouldCacheBlock(long timestamp, long age or conf)
wouldn't it make sense to not increase the size of BlockCacheKey permanently?

Choose a reason for hiding this comment

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

All we need is a call to
hotDataValidator(maxTimestamp, getDataTieringHotDataAge(configuration)); to decide whether to cache the block or not. We already have the maxTimestamp and age handy at the caller of shouldCacheBlock.

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, it will increase the size of each BlockCacheKey by 8 bytes. Assuming we have 10 million BlockCacheKeys on average on each region server (I think, this is what @wchevreuil said the other day), this would increase the heap size by approximately 76 MB.

However, I believe the proposed solution is not correct. The shouldCacheBlock function should not process information related to data tiering; this responsibility should be delegated to the DataTieringManager. Additionally, we should not assume that the DataTieringType of the block is TIME_RANGE, as it could be different in the future.

Copy link

@jhungund jhungund May 15, 2024

Choose a reason for hiding this comment

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

The general idea behind storing any data in the memory (as BlockCacheKey will reside in memory) is to use the data in future. Here, we are increasing the size of BlockCacheKey, transiently using the newly added member for making caching decisions, but later keeping the data in the BlockCacheKey without using it for later. Additionally this increase in size is effective even if the feature is not enabled, since we have changed the class layout.

Hence, the general idea about the new proposal is to not store metadata in BlockCacheKey, which will not be used later at all. Instead, store it on the stack (stack variable, function argument) so that the variable will go away after getting used.
You can use the APIs accordingly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I understand the concern. The only thing I am worried about is how we can achieve it. Let me think about a way to achieve this without compromising on OO principles.

Copy link
Contributor

Choose a reason for hiding this comment

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

On a file based bucket cache over an ephemeral storage of 1.6TB capacity and a typical block size of 64KB, we may get up to 26M blocks. With 4 extra bytes this will add per block, we are talking about 100MB extra heap usage, which accounts for 0.3% of a 32GB heap on typical RS deployment, so I guess we can relax on this extra variable.

WDYT, @jhungund ?

Choose a reason for hiding this comment

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

Hi @wchevreuil, In my humble opinion, we usually code with the following order of priorities:

Functional correctness > Performance/Resource utilisation > Coding guidelines/principles

We cannot let go of functional correctness for the sake of performance or for coding principles.
Similarly, we may not want to relax the performance/resource utilisation for the sake of adhering to coding principles.

Here we are repurposing an object that stays in memory forever as an information carrier for our utility function (isHotData). Once the utility function finishes, we will never use that data again.

Can we have a utility defined in DataTieringManager to take timestamps, configuration objects and make decisions for us?

Sorry, I do not want to hold on to this change by being inflexible, but trying to explain that we can achieve the same result by relaxing the OO coding principles instead of relaxing the memory utilisation.

@vinayakphegde and I will spend one more day and try to come up with a solution. If we can't come up with a solution, we can go ahead and submit this change.
Thanks,
Janardhan

@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.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 3m 50s HBASE-28463 passed
+1 💚 compile 2m 45s HBASE-28463 passed
+1 💚 checkstyle 0m 37s HBASE-28463 passed
+1 💚 spotless 0m 47s branch has no errors when running spotless:check.
+1 💚 spotbugs 1m 37s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 8s the patch passed
+1 💚 compile 2m 42s the patch passed
+1 💚 javac 2m 42s the patch passed
+1 💚 checkstyle 0m 38s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 50s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 44s patch has no errors when running spotless:check.
+1 💚 spotbugs 1m 44s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 9s The patch does not generate ASF License warnings.
32m 12s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux c070761dcc6a 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 79 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

DataTieringManager dataTieringManager = DataTieringManager.getInstance();
if (dataTieringManager != null && !dataTieringManager.isHotData(timeRangeTracker, conf)) {
LOG.debug("Data tiering is enabled for file: '{}' and it is not hot data",
key.getHfileName());
Copy link

@jhungund jhungund May 17, 2024

Choose a reason for hiding this comment

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

nit: Do we need this "key" parameter only for logging the details? If so, we could move this debug to the caller function and avoid passing this parameter to this API.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently, it's only used for logging purposes. The caller function, shouldCacheBlock(), isn't aware of data tiering, so I couldn't add that line there. Hence, I kept it here. Additionally, it makes sense to pass the corresponding BlockCacheKey to shouldCacheBlock() to make the decision.
However, I'm okay with removing that parameter.

Choose a reason for hiding this comment

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

OK got it. I am ok for the parameter key to be there considering the API name is shouldCacheBlock().

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 45s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 3m 2s HBASE-28463 passed
+1 💚 compile 0m 49s HBASE-28463 passed
+1 💚 shadedjars 5m 16s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 28s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 47s the patch passed
+1 💚 compile 0m 50s the patch passed
+1 💚 javac 0m 50s the patch passed
+1 💚 shadedjars 5m 18s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 26s the patch passed
_ Other Tests _
+1 💚 unit 282m 46s hbase-server in the patch passed.
307m 43s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux e4ce75e20364 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/testReport/
Max. process+thread count 4645 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/console
versions git=2.34.1 maven=3.8.6
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 7m 47s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
-1 ❌ mvninstall 6m 47s root in HBASE-28463 failed.
-1 ❌ compile 1m 10s hbase-server in HBASE-28463 failed.
-1 ❌ shadedjars 2m 2s branch has 10 errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 44s hbase-server in HBASE-28463 failed.
_ Patch Compile Tests _
+1 💚 mvninstall 6m 5s the patch passed
+1 💚 compile 0m 42s the patch passed
+1 💚 javac 0m 42s the patch passed
+1 💚 shadedjars 6m 15s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 41s hbase-server generated 22 new + 0 unchanged - 0 fixed = 22 total (was 0)
_ Other Tests _
-1 ❌ unit 361m 28s hbase-server in the patch failed.
400m 51s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 8a3ebba8eff7 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Temurin-1.8.0_352-b08
mvninstall https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk8-hadoop3-check/output/branch-mvninstall-root.txt
compile https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk8-hadoop3-check/output/branch-compile-hbase-server.txt
shadedjars https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk8-hadoop3-check/output/branch-shadedjars.txt
javadoc https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk8-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadoc https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/testReport/
Max. process+thread count 5459 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/5/console
versions git=2.34.1 maven=3.8.6
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 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-28463 Compile Tests _
+1 💚 mvninstall 2m 59s HBASE-28463 passed
+1 💚 compile 2m 25s HBASE-28463 passed
+1 💚 checkstyle 0m 36s HBASE-28463 passed
+1 💚 spotless 0m 42s branch has no errors when running spotless:check.
+1 💚 spotbugs 1m 24s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 37s the patch passed
+1 💚 compile 2m 22s the patch passed
+1 💚 javac 2m 22s the patch passed
+1 💚 checkstyle 0m 30s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 7s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 39s patch has no errors when running spotless:check.
+1 💚 spotbugs 1m 28s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 10s The patch does not generate ASF License warnings.
27m 48s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux 23b7519f6d96 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 80 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.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 46s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 5m 12s HBASE-28463 passed
+1 💚 compile 1m 1s HBASE-28463 passed
+1 💚 shadedjars 6m 21s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 34s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 39s the patch passed
+1 💚 compile 1m 1s the patch passed
+1 💚 javac 1m 1s the patch passed
+1 💚 shadedjars 6m 13s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 34s the patch passed
_ Other Tests _
-1 ❌ unit 331m 5s hbase-server in the patch failed.
361m 49s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux c2dfb03a27a5 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Eclipse Adoptium-11.0.17+8
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/testReport/
Max. process+thread count 4512 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/console
versions git=2.34.1 maven=3.8.6
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 48s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 4m 55s HBASE-28463 passed
+1 💚 compile 0m 46s HBASE-28463 passed
+1 💚 shadedjars 6m 23s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 26s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 32s the patch passed
+1 💚 compile 0m 45s the patch passed
+1 💚 javac 0m 45s the patch passed
+1 💚 shadedjars 6m 17s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 24s the patch passed
_ Other Tests _
-1 ❌ unit 343m 50s hbase-server in the patch failed.
373m 4s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 908b010c7092 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 4dee532
Default Java Temurin-1.8.0_352-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/testReport/
Max. process+thread count 4437 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/6/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@wchevreuil
Copy link
Contributor

@jhungund , would you have any further concerns with this PR, otherwise I'll merge this into the feature branch.

@jhungund
Copy link

LGTM
Thanks,
Janardhan

@wchevreuil
Copy link
Contributor

Hi @vinayakphegde, I had rebased master into the feature branch, now we got some conflicts within this PR. Could you resolve these conflicts? I'll then merge the PR into the feature branch.

@vinayakphegde vinayakphegde force-pushed the HBASE-28469 branch 3 times, most recently from b661e3f to 18f1011 Compare May 21, 2024 07:27
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 27s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s 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-28463 Compile Tests _
+0 🆗 mvndep 0m 35s Maven dependency ordering for branch
+1 💚 mvninstall 3m 16s HBASE-28463 passed
+1 💚 compile 5m 26s HBASE-28463 passed
+1 💚 checkstyle 1m 7s HBASE-28463 passed
+1 💚 spotless 0m 42s branch has no errors when running spotless:check.
+1 💚 spotbugs 8m 6s HBASE-28463 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for patch
+1 💚 mvninstall 2m 40s the patch passed
+1 💚 compile 5m 7s the patch passed
+1 💚 javac 5m 7s the patch passed
+1 💚 checkstyle 1m 8s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 5s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 40s patch has no errors when running spotless:check.
+1 💚 spotbugs 8m 10s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 19s The patch does not generate ASF License warnings.
49m 32s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux 620736fcebe0 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / c392345
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 176 (vs. ulimit of 30000)
modules C: hbase-server . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.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 38s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+0 🆗 mvndep 0m 42s Maven dependency ordering for branch
+1 💚 mvninstall 4m 13s HBASE-28463 passed
+1 💚 compile 2m 18s HBASE-28463 passed
+1 💚 shadedjars 6m 31s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 2m 44s HBASE-28463 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for patch
+1 💚 mvninstall 3m 26s the patch passed
+1 💚 compile 2m 7s the patch passed
+1 💚 javac 2m 7s the patch passed
+1 💚 shadedjars 6m 27s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 2m 8s the patch passed
_ Other Tests _
-1 ❌ unit 49m 31s root in the patch failed.
83m 55s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 5dc0f5c6d872 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / c392345
Default Java Temurin-1.8.0_352-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/testReport/
Max. process+thread count 2474 (vs. ulimit of 30000)
modules C: hbase-server . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/console
versions git=2.34.1 maven=3.8.6
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 34s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+0 🆗 mvndep 0m 41s Maven dependency ordering for branch
+1 💚 mvninstall 4m 21s HBASE-28463 passed
+1 💚 compile 2m 36s HBASE-28463 passed
+1 💚 shadedjars 6m 27s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 14s HBASE-28463 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 51s the patch passed
+1 💚 compile 2m 32s the patch passed
+1 💚 javac 2m 32s the patch passed
+1 💚 shadedjars 6m 27s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 28s the patch passed
_ Other Tests _
+1 💚 unit 309m 43s root in the patch passed.
351m 9s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 06213ddf9829 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / c392345
Default Java Eclipse Adoptium-11.0.17+8
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/testReport/
Max. process+thread count 8677 (vs. ulimit of 30000)
modules C: hbase-server . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/8/console
versions git=2.34.1 maven=3.8.6
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 28s 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-28463 Compile Tests _
+1 💚 mvninstall 3m 3s HBASE-28463 passed
+1 💚 compile 2m 37s HBASE-28463 passed
+1 💚 checkstyle 0m 35s HBASE-28463 passed
+1 💚 spotless 0m 42s branch has no errors when running spotless:check.
+1 💚 spotbugs 1m 22s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 40s the patch passed
+1 💚 compile 2m 31s the patch passed
+1 💚 javac 2m 31s the patch passed
+1 💚 checkstyle 0m 35s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 5m 10s Patch does not cause any errors with Hadoop 3.3.6.
+1 💚 spotless 0m 38s patch has no errors when running spotless:check.
+1 💚 spotbugs 1m 31s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 10s The patch does not generate ASF License warnings.
28m 25s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux a9711f10bd9d 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 7527a74
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 82 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.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 37s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 4m 4s HBASE-28463 passed
+1 💚 compile 1m 0s HBASE-28463 passed
+1 💚 shadedjars 6m 15s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 39s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 46s the patch passed
+1 💚 compile 0m 59s the patch passed
+1 💚 javac 0m 59s the patch passed
+1 💚 shadedjars 6m 19s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 33s the patch passed
_ Other Tests _
+1 💚 unit 328m 58s hbase-server in the patch passed.
358m 57s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 70cdd1437317 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 7527a74
Default Java Eclipse Adoptium-11.0.17+8
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/testReport/
Max. process+thread count 4471 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/console
versions git=2.34.1 maven=3.8.6
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 42s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚 mvninstall 3m 35s HBASE-28463 passed
+1 💚 compile 0m 45s HBASE-28463 passed
+1 💚 shadedjars 6m 22s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 26s HBASE-28463 passed
_ Patch Compile Tests _
+1 💚 mvninstall 3m 33s the patch passed
+1 💚 compile 0m 52s the patch passed
+1 💚 javac 0m 52s the patch passed
+1 💚 shadedjars 6m 30s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 26s the patch passed
_ Other Tests _
-1 ❌ unit 346m 28s hbase-server in the patch failed.
374m 49s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #5866
JIRA Issue HBASE-28469
Optional Tests javac javadoc unit shadedjars compile
uname Linux 64311ddeb277 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-28463 / 7527a74
Default Java Temurin-1.8.0_352-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/testReport/
Max. process+thread count 4448 (vs. ulimit of 30000)
modules C: hbase-server U: hbase-server
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5866/9/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@wchevreuil wchevreuil merged commit d3317ca into apache:HBASE-28463 May 22, 2024
1 check failed
jhungund pushed a commit to jhungund/hbase that referenced this pull request May 29, 2024
…on paths (apache#5866)

Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Reviewed-by: Janardhan Hugund <janardhan.hungund@cloudera.com>
Change-Id: I3ca919aed7f1e56ac96b8ade8033d36290be6927
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants