Update the cache invalidation to be specific for the key and not invalidate the 
whole cache.


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/39351f1e
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/39351f1e
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/39351f1e

Branch: refs/heads/release-2.1.1
Commit: 39351f1eb59008348dc2b1812b2cf5159f693721
Parents: 317b182
Author: Michael Russo <[email protected]>
Authored: Tue Mar 22 20:14:22 2016 -0700
Committer: Michael Russo <[email protected]>
Committed: Tue Mar 22 20:14:22 2016 -0700

----------------------------------------------------------------------
 .../graph/serialization/impl/shard/NodeShardCache.java        | 2 +-
 .../impl/shard/impl/NodeShardAllocationImpl.java              | 2 +-
 .../serialization/impl/shard/impl/NodeShardCacheImpl.java     | 7 +++----
 .../impl/shard/impl/ShardGroupCompactionImpl.java             | 4 ++--
 4 files changed, 7 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/39351f1e/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/NodeShardCache.java
----------------------------------------------------------------------
diff --git 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/NodeShardCache.java
 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/NodeShardCache.java
index 23c2c25..91c180f 100644
--- 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/NodeShardCache.java
+++ 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/NodeShardCache.java
@@ -52,6 +52,6 @@ public interface NodeShardCache {
     Iterator<ShardEntryGroup> getReadShardGroup( final ApplicationScope scope, 
final long maxTimestamp, final DirectedEdgeMeta directedEdgeMeta  );
 
 
-    void invalidate();
+    void invalidate( final ApplicationScope scope, final DirectedEdgeMeta 
directedEdgeMeta );
 
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/39351f1e/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
----------------------------------------------------------------------
diff --git 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
index a6cf378..0c65912 100644
--- 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
+++ 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
@@ -252,7 +252,7 @@ public class NodeShardAllocationImpl implements 
NodeShardAllocation {
             }
 
             // invalidate the shard cache so we can be sure that all read 
shards are up to date
-            nodeShardCache.invalidate();
+            nodeShardCache.invalidate(scope, directedEdgeMeta);
         }
         catch ( ConnectionException e ) {
             throw new RuntimeException( "Unable to connect to casandra", e );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/39351f1e/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
----------------------------------------------------------------------
diff --git 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
index 5eaaaa0..bbc0431 100644
--- 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
+++ 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
@@ -72,8 +72,6 @@ import com.google.inject.Inject;
 @Singleton
 public class NodeShardCacheImpl implements NodeShardCache {
 
-    private static final Logger logger = LoggerFactory.getLogger( 
NodeShardCacheImpl.class );
-
     /**
      * Only cache shards that have < 10k groups.  This is an arbitrary amount, 
and may change with profiling and
      * testing
@@ -186,9 +184,10 @@ public class NodeShardCacheImpl implements NodeShardCache {
     }
 
     @Override
-    public void invalidate(){
+    public void invalidate( final ApplicationScope scope, final 
DirectedEdgeMeta directedEdgeMeta ){
 
-        graphs.invalidateAll();
+        final CacheKey cacheKey = new CacheKey(scope, directedEdgeMeta);
+        graphs.invalidate(cacheKey);
 
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/39351f1e/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
----------------------------------------------------------------------
diff --git 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
index 7854c3b..b26ee46 100644
--- 
a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
+++ 
b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
@@ -341,7 +341,7 @@ public class ShardGroupCompactionImpl implements 
ShardGroupCompaction {
                 shardRemovalRollup.execute();
 
                 // invalidate the shard cache so we can be sure that all read 
shards are up to date
-                nodeShardCache.invalidate();
+                nodeShardCache.invalidate(scope, edgeMeta);
             }
             catch ( ConnectionException e ) {
                 throw new RuntimeException( "Unable to connect to cassandra", 
e );
@@ -359,7 +359,7 @@ public class ShardGroupCompactionImpl implements 
ShardGroupCompaction {
                 updateMark.execute();
 
                 // invalidate the shard cache so we can be sure that all read 
shards are up to date
-                nodeShardCache.invalidate();
+                nodeShardCache.invalidate(scope, edgeMeta);
             }
             catch ( ConnectionException e ) {
                 throw new RuntimeException( "Unable to connect to cassandra", 
e );

Reply via email to