This is an automated email from the ASF dual-hosted git repository. rmattingly pushed a commit to branch HBASE-29099-branch-2.6 in repository https://gitbox.apache.org/repos/asf/hbase.git
commit ef3d8b5f6b3f789a9504b60cbe928cb6f83c9647 Author: jbewing <[email protected]> AuthorDate: Tue Jan 28 15:14:03 2025 -0500 HBASE-29099 Avoid expensive BlockCacheKey.toString() calls when tracing is disabled (#6642) Signed-off-by: Ray Mattingly <[email protected]> --- .../main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java index ace662414f4..b6a06104307 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java @@ -1291,13 +1291,17 @@ public abstract class HFileReaderImpl implements HFile.Reader, Configurable { BlockCacheKey cacheKey = new BlockCacheKey(path, dataBlockOffset, this.isPrimaryReplicaReader(), expectedBlockType); - Attributes attributes = Attributes.of(BLOCK_CACHE_KEY_KEY, cacheKey.toString()); boolean cacheable = cacheBlock && cacheIfCompactionsOff(); boolean useLock = false; IdLock.Entry lockEntry = null; final Span span = Span.current(); + // BlockCacheKey#toString() is quite expensive to call, so if tracing isn't enabled, don't + // record + Attributes attributes = span.isRecording() + ? Attributes.of(BLOCK_CACHE_KEY_KEY, cacheKey.toString()) + : Attributes.empty(); try { while (true) { // Check cache for block. If found return.
