diff --git ql/src/java/org/apache/hadoop/hive/ql/Driver.java ql/src/java/org/apache/hadoop/hive/ql/Driver.java index bf4d29cba7..78922f1e43 100644 --- ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -2203,10 +2203,11 @@ private void postExecutionCacheActions() throws Exception { if (plan.hasAcidResourcesInQuery()) { txnWriteIdList = AcidUtils.getValidTxnWriteIdList(conf); } + CacheEntry cacheEntry = cacheUsage.getCacheEntry(); boolean savedToCache = QueryResultsCache.getInstance().setEntryValid( - cacheUsage.getCacheEntry(), + cacheEntry, plan.getFetchTask().getWork()); - LOG.info("savedToCache: {}", savedToCache); + LOG.info("savedToCache: {} ({})", savedToCache, cacheEntry); if (savedToCache) { useFetchFromCache(cacheUsage.getCacheEntry()); // setEntryValid() already increments the reader count. Set usedCacheEntry so it gets released. diff --git ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java index d29c4da5ec..44f7bf875d 100644 --- ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java +++ ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java @@ -213,9 +213,9 @@ public void releaseReader() { } public String toString() { - return "CacheEntry query: [" + getQueryInfo().getLookupInfo().getQueryText() - + "], status: " + status + ", location: " + cachedResultsPath - + ", size: " + size; + return String.format("CacheEntry#%s query: [ %s ], status: %s, location: %s, size: %d", + System.identityHashCode(this), getQueryInfo().getLookupInfo().getQueryText(), status, + cachedResultsPath, size); } public boolean addReader() { @@ -297,7 +297,7 @@ public Path getCachedResultsPath() { * false if the status changes from PENDING to INVALID */ public boolean waitForValidStatus() { - LOG.info("Waiting on pending cacheEntry"); + LOG.info("Waiting on pending cacheEntry: {}", this); long timeout = 1000; long startTime = System.nanoTime();