You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by mr...@apache.org on 2016/04/01 08:03:28 UTC
usergrid git commit: Fix cache invalidation issues.
Repository: usergrid
Updated Branches:
refs/heads/release-2.1.1 9b56fb2ce -> 492ac59ad
Fix cache invalidation issues.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/492ac59a
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/492ac59a
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/492ac59a
Branch: refs/heads/release-2.1.1
Commit: 492ac59ada40d05b7c1e5c0f8399ff7ec9000bd5
Parents: 9b56fb2
Author: Michael Russo <mr...@apigee.com>
Authored: Thu Mar 31 23:03:26 2016 -0700
Committer: Michael Russo <mr...@apigee.com>
Committed: Thu Mar 31 23:03:26 2016 -0700
----------------------------------------------------------------------
.../org/apache/usergrid/rest/test/resource/AbstractRestIT.java | 3 ---
.../usergrid/management/cassandra/ManagementServiceImpl.java | 6 ++++++
.../java/org/apache/usergrid/services/AbstractService.java | 3 +++
.../org/apache/usergrid/services/groups/GroupsService.java | 4 ++++
.../java/org/apache/usergrid/services/roles/RolesService.java | 2 ++
.../java/org/apache/usergrid/services/users/UsersService.java | 2 ++
.../org/apache/usergrid/services/users/roles/RolesService.java | 4 ++++
7 files changed, 21 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/492ac59a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/AbstractRestIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/AbstractRestIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/AbstractRestIT.java
index d2f572f..6e5e4f9 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/AbstractRestIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/AbstractRestIT.java
@@ -61,9 +61,6 @@ public class AbstractRestIT extends JerseyTest {
public static TomcatRuntime tomcatRuntime = TomcatRuntime.getInstance();
@Rule
- public ClearShiroSubject clearShiroSubject = new ClearShiroSubject();
-
- @Rule
public ClientSetup clientSetup = new ClientSetup( this.getBaseURI().toString() );
protected static final Application descriptor = new Application();
http://git-wip-us.apache.org/repos/asf/usergrid/blob/492ac59a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
index 56e1de7..b66a0ad 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -64,6 +64,7 @@ import org.apache.usergrid.security.shiro.credentials.ApplicationClientCredentia
import org.apache.usergrid.security.shiro.credentials.OrganizationClientCredentials;
import org.apache.usergrid.security.shiro.principals.ApplicationPrincipal;
import org.apache.usergrid.security.shiro.principals.OrganizationPrincipal;
+import org.apache.usergrid.security.shiro.utils.LocalShiroCache;
import org.apache.usergrid.security.shiro.utils.SubjectUtils;
import org.apache.usergrid.security.tokens.TokenCategory;
import org.apache.usergrid.security.tokens.TokenInfo;
@@ -169,6 +170,8 @@ public class ManagementServiceImpl implements ManagementService {
protected ApplicationService service;
+ protected LocalShiroCache localShiroCache;
+
/** Must be constructed with a CassandraClientPool. */
@@ -179,6 +182,7 @@ public class ManagementServiceImpl implements ManagementService {
this.cacheFactory = injector.getInstance( CacheFactory.class );
this.aggregationServiceFactory = injector.getInstance(AggregationServiceFactory.class);
this.service = injector.getInstance(ApplicationService.class);
+ this.localShiroCache = injector.getInstance(LocalShiroCache.class);
}
@@ -1764,6 +1768,7 @@ public class ManagementServiceImpl implements ManagementService {
ScopedCache scopedCache = cacheFactory.getScopedCache(
new CacheScope( new SimpleId( CpNamingUtils.MANAGEMENT_APPLICATION_ID, "application" )));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return new ApplicationInfo( applicationId, appInfo.getName() );
}
@@ -1825,6 +1830,7 @@ public class ManagementServiceImpl implements ManagementService {
ScopedCache scopedCache = cacheFactory.getScopedCache(
new CacheScope( new SimpleId( CpNamingUtils.MANAGEMENT_APPLICATION_ID, "application" )));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return new ApplicationInfo( applicationId, appInfo.getName() );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/492ac59a/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java b/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
index 5d818cc..3bbd859 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
@@ -33,6 +33,7 @@ import org.apache.usergrid.corepersistence.rx.impl.ResponseImportTasks;
import org.apache.usergrid.corepersistence.service.ServiceSchedulerFig;
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.core.metrics.ObservableTimer;
+import org.apache.usergrid.security.shiro.utils.LocalShiroCache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
@@ -112,6 +113,7 @@ public abstract class AbstractService implements Service {
private Timer invokeTimer;
protected CacheFactory cacheFactory;
+ protected LocalShiroCache localShiroCache;
public AbstractService() {
@@ -131,6 +133,7 @@ public abstract class AbstractService implements Service {
this.invokeTimer = metricsFactory.getTimer( this.getClass(),"service.invoke" );
this.cacheFactory = injector.getInstance( CacheFactory.class );
+ this.localShiroCache = injector.getInstance( LocalShiroCache.class );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/492ac59a/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
index 01012aa..aa125d4 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
@@ -99,6 +99,7 @@ public class GroupsService extends AbstractPathBasedColllectionService {
em.addGroupToRole( groupId, roleName );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return getGroupRoles( groupId );
}
@@ -107,6 +108,7 @@ public class GroupsService extends AbstractPathBasedColllectionService {
em.removeGroupFromRole( groupId, roleName );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return getGroupRoles( groupId );
}
@@ -161,6 +163,7 @@ public class GroupsService extends AbstractPathBasedColllectionService {
em.grantGroupPermission( entityRef.getUuid(), permission );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return genericServiceResults().withData( em.getGroupPermissions( entityRef.getUuid() ) );
}
@@ -230,6 +233,7 @@ public class GroupsService extends AbstractPathBasedColllectionService {
}
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return genericServiceResults().withData( em.getGroupPermissions( entityRef.getUuid() ) );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/492ac59a/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java b/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
index 09209cc..257c513 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
@@ -211,6 +211,7 @@ public class RolesService extends AbstractCollectionService {
em.grantRolePermission(roleName, permission);
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return getApplicationRolePermissions( roleName );
}
@@ -219,6 +220,7 @@ public class RolesService extends AbstractCollectionService {
em.revokeRolePermission( roleName, permission );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return getApplicationRolePermissions( roleName );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/492ac59a/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
index 3092a0e..0539695 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
@@ -218,6 +218,7 @@ public class UsersService extends AbstractCollectionService {
em.grantUserPermission( entityRef.getUuid(), permission );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return genericServiceResults().withData( em.getUserPermissions( entityRef.getUuid() ) );
}
@@ -288,6 +289,7 @@ public class UsersService extends AbstractCollectionService {
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
return genericServiceResults().withData( em.getUserPermissions( entityRef.getUuid() ) );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/492ac59a/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
index 1f7637f..2a6fb5d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
@@ -52,6 +52,7 @@ public class RolesService extends org.apache.usergrid.services.roles.RolesServic
em.addUserToRole( user.getUuid(), entity.getName() );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
}
return new ServiceResults( this, context, Type.COLLECTION, Results.fromRef( entity ), null, null );
}
@@ -65,6 +66,7 @@ public class RolesService extends org.apache.usergrid.services.roles.RolesServic
em.addUserToRole( user.getUuid(), entity.getName() );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
}
return new ServiceResults( this, context, Type.COLLECTION, Results.fromRef( entity ), null, null );
}
@@ -78,6 +80,7 @@ public class RolesService extends org.apache.usergrid.services.roles.RolesServic
em.removeUserFromRole( user.getUuid(), results.getEntity().getName() );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
}
return results;
}
@@ -91,6 +94,7 @@ public class RolesService extends org.apache.usergrid.services.roles.RolesServic
em.removeUserFromRole( user.getUuid(), results.getEntity().getName() );
ScopedCache scopedCache = cacheFactory.getScopedCache(new CacheScope(em.getApplication().asId()));
scopedCache.invalidate();
+ localShiroCache.invalidateAll();
}
return results;
}