Skip to content

Conversation

@jhungund
Copy link
Contributor

The current implementation is such that the HFilePreadReader constructor waits for the cache initialisation to decide whether or not, to create a prefetcher for an HFile.

However, as the HFilePreadReader constructor waits for the bucket cache initialisation, it blocks the region from bein opened. Any calls to read from the region fail until the cache is initialised.

This prevents the region from being usable, which otherwise, can read from the data store (cloud storage) to serve the client requests.

This change prevents the waits with the HFilePreadReader constructor and instead, move this wait to the prefetch thread, which waits until the cache is initialised to decide whether or, not to prefetch the file. Any requests to the regions will be served from the main data store instead of cache.

Also, the missed cache access during the cache initialisation should be accounted for the cache misses.

Change-Id: I952c592a1020874ad874f1909f776d8652375a1b

…he initialisation.

The current implementation is such that the HFilePreadReader constructor waits for
the cache initialisation to decide whether or not, to create a prefetcher for an HFile.

However, as the HFilePreadReader constructor waits for the bucket cache initialisation,
it blocks the region from bein opened. Any calls to read from the region fail until the
cache is initialised.

This prevents the region from being usable, which otherwise, can read from the data store
(cloud storage) to serve the client requests.

This change prevents the waits with the HFilePreadReader constructor and instead, move this
wait to the prefetch thread, which waits until the cache is initialised to decide whether or,
not to prefetch the file. Any requests to the regions will be served from the main data store
instead of cache.

Also, the missed cache access during the cache initialisation should be accounted for the
cache misses.

Change-Id: I952c592a1020874ad874f1909f776d8652375a1b
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 40s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+1 💚 mvninstall 2m 57s master passed
+1 💚 compile 2m 54s master passed
+1 💚 checkstyle 0m 37s master passed
+1 💚 spotbugs 1m 33s master passed
+1 💚 spotless 0m 44s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+1 💚 mvninstall 2m 48s the patch passed
+1 💚 compile 2m 58s the patch passed
+1 💚 javac 2m 58s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 36s the patch passed
+1 💚 spotbugs 1m 40s the patch passed
+1 💚 hadoopcheck 10m 18s Patch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚 spotless 0m 43s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 11s The patch does not generate ASF License warnings.
35m 2s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6389/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #6389
JIRA Issue HBASE-28934
Optional Tests dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless
uname Linux 630e4fe1adb5 5.4.0-195-generic #215-Ubuntu SMP Fri Aug 2 18:28:05 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / a2a1d88
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 84 (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-6389/1/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 44s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚 mvninstall 3m 1s master passed
+1 💚 compile 0m 56s master passed
+1 💚 javadoc 0m 30s master passed
+1 💚 shadedjars 5m 10s branch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 2m 51s the patch passed
+1 💚 compile 0m 56s the patch passed
+1 💚 javac 0m 56s the patch passed
+1 💚 javadoc 0m 29s the patch passed
+1 💚 shadedjars 5m 6s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 ❌ unit 246m 24s /patch-unit-hbase-server.txt hbase-server in the patch failed.
270m 59s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6389/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #6389
JIRA Issue HBASE-28934
Optional Tests javac javadoc unit compile shadedjars
uname Linux 4fdbfe84e1c3 5.4.0-195-generic #215-Ubuntu SMP Fri Aug 2 18:28:05 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / a2a1d88
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6389/1/testReport/
Max. process+thread count 4601 (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-6389/1/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@wchevreuil
Copy link
Contributor

UT failure looks unrelated.

@wchevreuil wchevreuil merged commit 6b5cc5b into apache:master Oct 25, 2024
wchevreuil pushed a commit that referenced this pull request Oct 25, 2024
wchevreuil pushed a commit to wchevreuil/hbase that referenced this pull request Oct 25, 2024
wchevreuil added a commit that referenced this pull request Oct 28, 2024
…he initialisation. (#6389) (#6398)

Signed-off-by: Wellington Chevreuil <[email protected]>
Co-authored-by: jhungund <[email protected]>
stoty pushed a commit to stoty/hbase that referenced this pull request Nov 22, 2025
… constructors for cache initialisation. (apache#6389) (apache#6398) (apache#589)

Signed-off-by: Wellington Chevreuil <[email protected]>
Co-authored-by: Wellington Ramos Chevreuil <[email protected]>
Co-authored-by: jhungund <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants