Skip to content

HBASE-28466 Integration of time-based priority logic of bucket cache in prefetch functionality of HBase - #5808

Merged
wchevreuil merged 4 commits into
apache:HBASE-28463from
vinayakphegde:HBASE-28466
Apr 22, 2024
Merged

HBASE-28466 Integration of time-based priority logic of bucket cache in prefetch functionality of HBase#5808
wchevreuil merged 4 commits into
apache:HBASE-28463from
vinayakphegde:HBASE-28466

Conversation

@vinayakphegde

Copy link
Copy Markdown
Contributor

No description provided.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 29sDocker 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-28463 Compile Tests _
+1 💚mvninstall3m 18sHBASE-28463 passed
+1 💚compile2m 36sHBASE-28463 passed
+1 💚checkstyle0m 37sHBASE-28463 passed
+1 💚spotless0m 44sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 34sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall2m 57sthe patch passed
+1 💚compile2m 33sthe patch passed
+1 💚javac2m 33sthe patch passed
+1 💚checkstyle0m 32sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck5m 33sPatch does not cause any errors with Hadoop 3.3.6.
+1 💚spotless0m 43spatch has no errors when running spotless:check.
+1 💚spotbugs1m 38sthe patch passed
_ Other Tests _
+1 💚asflicense0m 10sThe patch does not generate ASF License warnings.
30m 16s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5808
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 2687affb4906 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / a9d3170
Default JavaEclipse Adoptium-11.0.17+8
Max. process+thread count81 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.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 28sDocker 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-28463 Compile Tests _
+1 💚mvninstall3m 19sHBASE-28463 passed
+1 💚compile0m 49sHBASE-28463 passed
+1 💚shadedjars5m 57sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 26sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 4sthe patch passed
+1 💚compile0m 47sthe patch passed
+1 💚javac0m 47sthe patch passed
+1 💚shadedjars5m 50spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 23sthe patch passed
_ Other Tests _
-1 ❌unit232m 44shbase-server in the patch failed.
257m 55s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 6625b10065c0 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / a9d3170
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/testReport/
Max. process+thread count4755 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/console
versionsgit=2.34.1 maven=3.8.6
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 51sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚mvninstall3m 30sHBASE-28463 passed
+1 💚compile1m 4sHBASE-28463 passed
+1 💚shadedjars8m 6sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 49sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 58sthe patch passed
+1 💚compile1m 1sthe patch passed
+1 💚javac1m 1sthe patch passed
+1 💚shadedjars7m 41spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 34sthe patch passed
_ Other Tests _
-1 ❌unit282m 15shbase-server in the patch failed.
314m 27s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 26c703a13152 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / a9d3170
Default JavaTemurin-1.8.0_352-b08
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/testReport/
Max. process+thread count4903 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/1/console
versionsgit=2.34.1 maven=3.8.6
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 45sDocker 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-28463 Compile Tests _
+1 💚mvninstall3m 44sHBASE-28463 passed
+1 💚compile2m 52sHBASE-28463 passed
+1 💚checkstyle0m 40sHBASE-28463 passed
+1 💚spotless0m 50sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 57sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 23sthe patch passed
+1 💚compile3m 18sthe patch passed
+1 💚javac3m 18sthe patch passed
+1 💚checkstyle0m 43sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck6m 5sPatch does not cause any errors with Hadoop 3.3.6.
+1 💚spotless0m 43spatch has no errors when running spotless:check.
+1 💚spotbugs2m 14sthe patch passed
_ Other Tests _
+1 💚asflicense0m 15sThe patch does not generate ASF License warnings.
35m 1s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5808
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 4485324f7ac9 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / a9d3170
Default JavaEclipse Adoptium-11.0.17+8
Max. process+thread count79 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.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 36sDocker 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-28463 Compile Tests _
+1 💚mvninstall3m 52sHBASE-28463 passed
+1 💚compile1m 0sHBASE-28463 passed
+1 💚shadedjars6m 52sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 31sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 43sthe patch passed
+1 💚compile0m 59sthe patch passed
+1 💚javac0m 59sthe patch passed
+1 💚shadedjars6m 13spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 29sthe patch passed
_ Other Tests _
-1 ❌unit286m 22shbase-server in the patch failed.
315m 27s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux d157037f1bdb 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / a9d3170
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/testReport/
Max. process+thread count5646 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/console
versionsgit=2.34.1 maven=3.8.6
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 20sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚mvninstall3m 59sHBASE-28463 passed
+1 💚compile1m 0sHBASE-28463 passed
+1 💚shadedjars8m 11sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 48sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 46sthe patch passed
+1 💚compile1m 2sthe patch passed
+1 💚javac1m 2sthe patch passed
+1 💚shadedjars7m 53spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 49sthe patch passed
_ Other Tests _
-1 ❌unit309m 10shbase-server in the patch failed.
343m 45s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 00da13b33cd4 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / a9d3170
Default JavaTemurin-1.8.0_352-b08
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/testReport/
Max. process+thread count4800 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/2/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Comment on lines +42 to +49
try {
DataTieringManager dataTieringManager = DataTieringManager.getInstance();
if (!dataTieringManager.isHotData(this)) {
LOG.debug("Data tiering is enabled for path '{}' and it is not hot data", path);
return;
}
} catch (IllegalStateException e) {
LOG.error("Error while getting DataTieringManager instance: {}", e.getMessage());

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.

Please move this to BucketCache.shouldCacheFile implementation. Any caching related logic should be in the Cache related classes. Reader should only defer the decisions about caching to the Cache implementations.

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.

Got it. How should I proceed? The DataTieringManager#isHotData() method requires HFilePreadReader. Should I update the existing shouldCacheFile method to pass HFilePreadReader like this?

@Override
public Optional<Boolean> shouldCacheFile(HFilePreadReader reader) {
try {
DataTieringManager dataTieringManager = DataTieringManager.getInstance();
if (!dataTieringManager.isHotData(reader)) {
LOG.debug("Data tiering is enabled for path '{}' and it is not hot data", reader.getPath());
return Optional.of(false);
}
} catch (IllegalStateException e) {
LOG.error("Error while getting DataTieringManager instance: {}", e.getMessage());
}
// if we don't have the file in fullyCachedFiles, we should cache it
String fileName = reader.getPath().getName();
return Optional.of(!fullyCachedFiles.containsKey(fileName));
}

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.

Another option is something like below.

public HFilePreadReader(ReaderContext context, HFileInfo fileInfo, CacheConfig cacheConf,
Configuration conf) throws IOException {
super(context, fileInfo, cacheConf, conf);
boolean isHotData = true;
try {
DataTieringManager dataTieringManager = DataTieringManager.getInstance();
isHotData = dataTieringManager.isHotData(this);
} catch (IllegalStateException e) {
LOG.error("Error while getting DataTieringManager instance: {}", e.getMessage());
}
final MutableBoolean shouldCache = new MutableBoolean(true);
boolean finalIsHotData = isHotData;
cacheConf.getBlockCache().ifPresent(cache -> {
Optional<Boolean> result = cache.shouldCacheFile(path.getName(), finalIsHotData);
shouldCache.setValue(result.isPresent() ? result.get().booleanValue() : true);
});

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.

It seems you are adding a reader dependency on DataTieringManager mainly to create an HFileInfo instance and infer the max/min timestamps. Can't you just pass the fileInfo attr to the shouldCacheFile method?

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.

Yeah, this looks correct. but we also need Configuration which is not present in HFileInfo.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 38sDocker 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-28463 Compile Tests _
+1 💚mvninstall3m 6sHBASE-28463 passed
+1 💚compile2m 33sHBASE-28463 passed
+1 💚checkstyle0m 37sHBASE-28463 passed
+1 💚spotless0m 45sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 35sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall2m 49sthe patch passed
+1 💚compile2m 30sthe patch passed
+1 💚javac2m 30sthe patch passed
+1 💚checkstyle0m 37sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck5m 2sPatch does not cause any errors with Hadoop 3.3.6.
+1 💚spotless0m 42spatch has no errors when running spotless:check.
+1 💚spotbugs1m 42sthe patch passed
_ Other Tests _
+1 💚asflicense0m 13sThe patch does not generate ASF License warnings.
29m 4s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5808
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 0fe8e66280c7 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / b7bb8b9
Default JavaEclipse Adoptium-11.0.17+8
Max. process+thread count78 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.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 🆗reexec2m 38sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚mvninstall4m 45sHBASE-28463 passed
+1 💚compile1m 4sHBASE-28463 passed
+1 💚shadedjars6m 41sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 41sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall4m 5sthe patch passed
+1 💚compile1m 1sthe patch passed
+1 💚javac1m 1sthe patch passed
+1 💚shadedjars6m 46spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 41sthe patch passed
_ Other Tests _
-1 ❌unit338m 37shbase-server in the patch failed.
372m 53s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 99c2332cb5ae 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / b7bb8b9
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/testReport/
Max. process+thread count4444 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/console
versionsgit=2.34.1 maven=3.8.6
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 🆗reexec2m 41sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚mvninstall4m 18sHBASE-28463 passed
+1 💚compile0m 45sHBASE-28463 passed
+1 💚shadedjars6m 31sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 29sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 27sthe patch passed
+1 💚compile1m 2sthe patch passed
+1 💚javac1m 2sthe patch passed
+1 💚shadedjars6m 27spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 27sthe patch passed
_ Other Tests _
-1 ❌unit350m 28shbase-server in the patch failed.
382m 7s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 742ca0660ea6 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / b7bb8b9
Default JavaTemurin-1.8.0_352-b08
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/testReport/
Max. process+thread count4516 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/3/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Comment on lines +44 to +45
HFileInfo hFileInfoForCaching = new HFileInfo(context, conf);
hFileInfoForCaching.initMetaAndIndex(this);

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.

Why are you creating a new HFileInfo here? Can you just use the super.fileInfo reference?

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.

If I have to pass super.fileInfo, then we need to call initMetaAndIndex() on that. So, I thought that might disrupt the existing logic. Also, if I modify the HFileInfo state (the one we passed as an argument), it might come as a side effect, right?

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.

AFAICT, we would just be calling it again in HStoreFile.open, right after we return from reader creation. I don't like duplicate object or code run unnecessarily, so maybe we could modify initMetaAndIndex to do its stuff just if the file info hasn't been initialized yet.

@vinayakphegdevinayakphegdeApr 18, 2024

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.

maybe we could modify initMetaAndIndex to do its stuff just if the file info hasn't been initialized yet.

Hmmm, I'm not sure how we can do that. Maybe use a boolean field in the HFileInfo to track whether initMetaAndIndex is done or not? Because initMetaAndIndex does a couple of things, and it's hard to say whether that is initialized or not. Can you think of any way we can achieve that?

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.

Maybe use a boolean field in the HFileInfo to track whether initMetaAndIndex is done or not?

Yeah, I don't think there's another way.

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.

Okay

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 39sDocker 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-28463 Compile Tests _
+1 💚mvninstall3m 55sHBASE-28463 passed
+1 💚compile2m 58sHBASE-28463 passed
+1 💚checkstyle0m 46sHBASE-28463 passed
+1 💚spotless0m 54sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 57sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 52sthe patch passed
+1 💚compile3m 15sthe patch passed
+1 💚javac3m 15sthe patch passed
+1 💚checkstyle0m 51sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck5m 54sPatch does not cause any errors with Hadoop 3.3.6.
+1 💚spotless0m 49spatch has no errors when running spotless:check.
+1 💚spotbugs2m 6sthe patch passed
_ Other Tests _
+1 💚asflicense0m 9sThe patch does not generate ASF License warnings.
35m 20s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5808
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux a6785a7087e6 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / b7bb8b9
Default JavaEclipse Adoptium-11.0.17+8
Max. process+thread count77 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.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 32sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚mvninstall4m 3sHBASE-28463 passed
+1 💚compile0m 59sHBASE-28463 passed
+1 💚shadedjars6m 50sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 32sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 26sthe patch passed
+1 💚compile0m 56sthe patch passed
+1 💚javac0m 56sthe patch passed
+1 💚shadedjars6m 26spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 26sthe patch passed
_ Other Tests _
-1 ❌unit269m 33shbase-server in the patch failed.
298m 40s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a7f5c7ce3ef7 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / b7bb8b9
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/testReport/
Max. process+thread count4566 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/console
versionsgit=2.34.1 maven=3.8.6
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 34sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-28463 Compile Tests _
+1 💚mvninstall3m 53sHBASE-28463 passed
+1 💚compile0m 57sHBASE-28463 passed
+1 💚shadedjars6m 28sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 29sHBASE-28463 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 14sthe patch passed
+1 💚compile0m 53sthe patch passed
+1 💚javac0m 53sthe patch passed
+1 💚shadedjars6m 51spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 28sthe patch passed
_ Other Tests _
-1 ❌unit328m 42shbase-server in the patch failed.
357m 18s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5808
Optional Testsjavac javadoc unit shadedjars compile
unameLinux fe17fc3c203a 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionHBASE-28463 / b7bb8b9
Default JavaTemurin-1.8.0_352-b08
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/testReport/
Max. process+thread count4455 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5808/4/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@wchevreuil
wchevreuil merged commit 25f13b6 into apache:HBASE-28463Apr 22, 2024
wchevreuil pushed a commit that referenced this pull request Apr 22, 2024
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request Apr 25, 2024
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request May 20, 2024
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
vinayakphegde added a commit to vinayakphegde/hbase that referenced this pull request May 21, 2024
…in prefetch functionality of HBase (apache#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request May 21, 2024
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
jhungund pushed a commit to janardhanrh/hbase that referenced this pull request May 29, 2024
…in prefetch functionality of HBase (apache#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Change-Id: I2443acef22393731454af9458785c617acc08af6
wchevreuil pushed a commit that referenced this pull request Jun 24, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request Jul 10, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request Jul 11, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request Aug 5, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request Sep 1, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit to wchevreuil/hbase that referenced this pull request Sep 1, 2025
…in prefetch functionality of HBase (apache#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Change-Id: I374a9ab88807da3188962d7ac0b2b727eaffd010
wchevreuil pushed a commit that referenced this pull request Sep 1, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
wchevreuil pushed a commit that referenced this pull request Sep 3, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Change-Id: I374a9ab88807da3188962d7ac0b2b727eaffd010
wchevreuil pushed a commit to wchevreuil/hbase that referenced this pull request Sep 3, 2025
…in prefetch functionality of HBase (apache#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Change-Id: I374a9ab88807da3188962d7ac0b2b727eaffd010
wchevreuil pushed a commit that referenced this pull request Sep 3, 2025
…in prefetch functionality of HBase (#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Change-Id: I374a9ab88807da3188962d7ac0b2b727eaffd010
stoty pushed a commit to stoty/hbase that referenced this pull request Nov 22, 2025
…into cdh_main
HBASE-28466 Integration of time-based priority logic of bucket cache in prefetch functionality of HBase (apache#5808)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Change-Id: I374a9ab88807da3188962d7ac0b2b727eaffd010
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.

3 participants

@vinayakphegde@Apache-HBase@wchevreuil