From d29cd6e38048851fc65ce1f713f534a51154385b Mon Sep 17 00:00:00 2001 From: xuchuanyin Date: Thu, 1 Nov 2018 10:09:40 +0800 Subject: [PATCH] Add check for debug to avoid string concat For bloomfilter datamap, it will log debug for each blocklet. If the data is huge, there maybe thousands of blocklet, so in this commit, we will try to avoid necessary string concat if the debug level is not enabled. --- .../datamap/bloom/BloomCoarseGrainDataMap.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java index 4ec215e4e69..7a104fcc48b 100644 --- a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java +++ b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java @@ -185,7 +185,9 @@ public List prune(FilterResolverIntf filterExp, SegmentProperties segm } for (BloomQueryModel bloomQueryModel : bloomQueryModels) { Set tempHitBlockletsResult = new HashSet<>(); - LOGGER.debug("prune blocklet for query: " + bloomQueryModel); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("prune blocklet for query: " + bloomQueryModel); + } BloomCacheKeyValue.CacheKey cacheKey = new BloomCacheKeyValue.CacheKey( this.indexPath.toString(), bloomQueryModel.columnName); BloomCacheKeyValue.CacheValue cacheValue = cache.get(cacheKey); @@ -205,12 +207,14 @@ public List prune(FilterResolverIntf filterExp, SegmentProperties segm } } if (scanRequired) { - LOGGER.debug(String.format("BloomCoarseGrainDataMap: Need to scan -> blocklet#%s", - String.valueOf(bloomFilter.getBlockletNo()))); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug(String.format("BloomCoarseGrainDataMap: Need to scan -> blocklet#%s", + String.valueOf(bloomFilter.getBlockletNo()))); + } Blocklet blocklet = new Blocklet(bloomFilter.getShardName(), String.valueOf(bloomFilter.getBlockletNo())); tempHitBlockletsResult.add(blocklet); - } else { + } else if (LOGGER.isDebugEnabled()) { LOGGER.debug(String.format("BloomCoarseGrainDataMap: Skip scan -> blocklet#%s", String.valueOf(bloomFilter.getBlockletNo()))); }