Ensuring that the cache doesn't contain data.

Conflicts:
        blur-core/src/main/java/org/apache/blur/thrift/BlurShardServer.java


Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/af9637bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/af9637bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/af9637bf

Branch: refs/heads/master
Commit: af9637bf07630a56eba9eb6fc700cd76f97d3186
Parents: 63c60d9
Author: Aaron McCurry <[email protected]>
Authored: Tue Dec 17 08:49:13 2013 -0500
Committer: Aaron McCurry <[email protected]>
Committed: Tue Dec 17 08:56:45 2013 -0500

----------------------------------------------------------------------
 .../java/org/apache/blur/thrift/BlurShardServer.java     | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/af9637bf/blur-core/src/main/java/org/apache/blur/thrift/BlurShardServer.java
----------------------------------------------------------------------
diff --git 
a/blur-core/src/main/java/org/apache/blur/thrift/BlurShardServer.java 
b/blur-core/src/main/java/org/apache/blur/thrift/BlurShardServer.java
index 9bf8acc..b750cba 100644
--- a/blur-core/src/main/java/org/apache/blur/thrift/BlurShardServer.java
+++ b/blur-core/src/main/java/org/apache/blur/thrift/BlurShardServer.java
@@ -109,7 +109,8 @@ public class BlurShardServer extends TableAdmin implements 
Iface {
       // Note: Querying the Shard Server directly if query.startTime == 0
       BlurUtil.setStartTime(blurQuery);
 
-      if (blurQuery.useCacheIfPresent) {
+      if (blurQuery.useCacheIfPresent && selector == null) {
+        // Selector has to be null because we might cache data if it's not.
         LOG.debug("Using cache for query [{0}] on table [{1}].", blurQuery, 
table);
         QueryCacheKey key = QueryCache.getNormalizedBlurQueryKey(table, 
blurQuery);
         QueryCacheEntry queryCacheEntry = _queryCache.get(key);
@@ -125,8 +126,12 @@ public class BlurShardServer extends TableAdmin implements 
Iface {
       try {
         AtomicLongArray facetCounts = 
BlurUtil.getAtomicLongArraySameLengthAsList(blurQuery.facets);
         hitsIterable = _indexManager.query(table, blurQuery, facetCounts);
-        return _queryCache.cache(table, original,
-            BlurUtil.convertToHits(hitsIterable, blurQuery, facetCounts, 
_dataFetch, blurQuery.selector, this, table));
+        BlurResults blurResults = BlurUtil.convertToHits(hitsIterable, 
blurQuery, facetCounts, _dataFetch,
+            blurQuery.selector, this, table);
+        if (selector != null) {
+          return blurResults;
+        }
+        return _queryCache.cache(table, original, blurResults);
       } catch (BlurException e) {
         throw e;
       } catch (Exception e) {

Reply via email to