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/21 01:18:10 UTC
[1/3] usergrid git commit: Added the decrement call to delete so that
entity counters are decremented. Added test proving that entity counters are
decremented.
Repository: usergrid
Updated Branches:
refs/heads/release-2.1.1 9553d4479 -> 158b5de37
Added the decrement call to delete so that entity counters are decremented.
Added test proving that entity counters are decremented.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f76aeaf5
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f76aeaf5
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f76aeaf5
Branch: refs/heads/release-2.1.1
Commit: f76aeaf56e4b12516415db52da388eabc3ba20de
Parents: f064c49
Author: George Reyes <gr...@apache.org>
Authored: Fri Apr 15 14:40:27 2016 -0700
Committer: George Reyes <gr...@apache.org>
Committed: Fri Apr 15 14:40:27 2016 -0700
----------------------------------------------------------------------
.../corepersistence/CpEntityManager.java | 4 +-
.../events/ApplicationRequestCounterIT.java | 48 ++++++++++++++++++++
2 files changed, 50 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f76aeaf5/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index b2330f3..93f9b64 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -649,15 +649,15 @@ public class CpEntityManager implements EntityManager {
*/
@Override
public void delete( EntityRef entityRef ) throws Exception {
- //TODO: since we want the user to mark it and we sweep it later. It should be marked by the graph manager here.
//Step 1 & 2 Currently to block so we ensure that marking is done immediately
//If this returns null then nothing was marked null so the entity doesn't exist
markEntity( entityRef ).toBlocking().lastOrDefault( null );
- //TODO: figure out how to return async call to service tier? Do I not need to?
//Step 3
deleteAsync( entityRef );
+ decrementEntityCollection( Schema.defaultCollectionName( entityRef.getType() ));
+
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f76aeaf5/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java
index a1c07c5..cf07dff 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java
@@ -27,6 +27,7 @@ import org.slf4j.LoggerFactory;
import org.apache.usergrid.rest.test.resource.AbstractRestIT;
import org.apache.usergrid.rest.test.resource.model.ApiResponse;
import org.apache.usergrid.rest.test.resource.model.Collection;
+import org.apache.usergrid.rest.test.resource.model.Entity;
import org.apache.usergrid.rest.test.resource.model.QueryParameters;
import static org.junit.Assert.assertEquals;
@@ -62,4 +63,51 @@ public class ApplicationRequestCounterIT extends AbstractRestIT {
assertEquals( 2, ( ( LinkedHashMap ) ( ( ArrayList)counters.get( "values" )).get( 0 )).get( "value" ));
}
+
+ @Test
+ public void testDecrementingEntityCounters() throws Exception {
+
+ //Create test collection with test entity that is full text indexed.
+ int numberOfEntitiesToCreate = 10;
+
+ Entity[] entities = new Entity[numberOfEntitiesToCreate];
+ Entity testEntity = new Entity();
+ for(int i = 0; i < numberOfEntitiesToCreate; i++){
+ testEntity.put( "one","value"+i );
+ testEntity.put( "two","valuetwo"+i );
+ entities[i]= this.app().collection( "testCollection" ).post( testEntity );
+ }
+
+ //get default application
+ // ApiResponse defaultApp = org().app( clientSetup.getAppName() ).get();
+
+ QueryParameters queryParameters = new QueryParameters();
+ queryParameters.addParam( "resolution", "all" ).addParam( "counter", "application.collection.testcollections" );
+ Collection countersResponse = org().app( clientSetup.getAppName() ).collection( "counters" ).get( queryParameters ,true );
+
+ assertNotNull( countersResponse );
+ ArrayList counterValues = ( ArrayList ) countersResponse.getResponse().getProperties().get( "counters" );
+ LinkedHashMap counters = ( LinkedHashMap ) counterValues.get( 0 );
+ assertEquals( "application.collection.testcollections", counters.get( "name" ) );
+
+ //Since it was accessed twice above.
+ assertEquals( 10, ( ( LinkedHashMap ) ( ( ArrayList)counters.get( "values" )).get( 0 )).get( "value" ));
+
+ for(int i = 0; i < numberOfEntitiesToCreate; i++){
+ this.app().collection( "testCollection" ).entity( entities[i] ).delete( );
+ }
+
+ queryParameters.addParam( "resolution", "all" ).addParam( "counter", "application.collection.testcollections" );
+ countersResponse = org().app( clientSetup.getAppName() ).collection( "counters" ).get( queryParameters ,true );
+
+ assertNotNull( countersResponse );
+ counterValues = ( ArrayList ) countersResponse.getResponse().getProperties().get( "counters" );
+ counters = ( LinkedHashMap ) counterValues.get( 0 );
+ assertEquals( "application.collection.testcollections", counters.get( "name" ) );
+
+ //Since it was accessed twice above.
+ assertEquals( 0, ( ( LinkedHashMap ) ( ( ArrayList)counters.get( "values" )).get( 0 )).get( "value" ));
+
+
+ }
}
[2/3] usergrid git commit: Merge commit 'refs/pull/507/head' of
github.com:apache/usergrid into release-2.1.1
Posted by mr...@apache.org.
Merge commit 'refs/pull/507/head' of github.com:apache/usergrid into release-2.1.1
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c5b06dba
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c5b06dba
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c5b06dba
Branch: refs/heads/release-2.1.1
Commit: c5b06dba4a7b6fafebe613d7d8e4be89cd68755d
Parents: 9553d44 f76aeaf
Author: Michael Russo <mr...@apigee.com>
Authored: Wed Apr 20 16:16:17 2016 -0700
Committer: Michael Russo <mr...@apigee.com>
Committed: Wed Apr 20 16:16:17 2016 -0700
----------------------------------------------------------------------
.../corepersistence/CpEntityManager.java | 4 +-
.../events/ApplicationRequestCounterIT.java | 48 ++++++++++++++++++++
2 files changed, 50 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/c5b06dba/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
[3/3] usergrid git commit: Fix NPE.
Posted by mr...@apache.org.
Fix NPE.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/158b5de3
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/158b5de3
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/158b5de3
Branch: refs/heads/release-2.1.1
Commit: 158b5de37fbfa1c6585dadb14b9d8508ecc06026
Parents: c5b06db
Author: Michael Russo <mr...@apigee.com>
Authored: Wed Apr 20 16:17:53 2016 -0700
Committer: Michael Russo <mr...@apigee.com>
Committed: Wed Apr 20 16:17:53 2016 -0700
----------------------------------------------------------------------
.../usergrid/services/notifications/NotificationsService.java | 5 ++++-
.../notifications/impl/ApplicationQueueManagerImpl.java | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/158b5de3/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
index f4fdb65..65425d7 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
@@ -136,7 +136,10 @@ public class NotificationsService extends AbstractCollectionService {
// perform some input validates on useGraph payload property vs. ql= path query
final List<ServiceParameter> parameters = context.getRequest().getOriginalParameters();
for (ServiceParameter parameter : parameters){
- if( parameter instanceof ServiceParameter.QueryParameter && context.getProperties().get("useGraph").equals(true)){
+ if( parameter instanceof ServiceParameter.QueryParameter
+ && context.getProperties().get("useGraph") != null
+ && context.getProperties().get("useGraph").equals(true)){
+
throw new IllegalArgumentException("Query ql parameter cannot be used with useGraph:true property value");
}
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/158b5de3/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 1bb92b7..5254fd6 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -52,6 +52,7 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
private final String queueName;
private final Meter queueMeter;
private final Meter sendMeter;
+ private int concurrencyFactor;
private final static String PUSH_PROCESSING_MAXTHREADS_PROP = "usergrid.push.async.processing.threads";
private final static String PUSH_PROCESSING_QUEUESIZE_PROP = "usergrid.push.async.processing.queue.size";
@@ -84,12 +85,14 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
maxAsyncThreads = Integer.valueOf(System.getProperty(PUSH_PROCESSING_MAXTHREADS_PROP, "200"));
workerQueueSize = Integer.valueOf(System.getProperty(PUSH_PROCESSING_QUEUESIZE_PROP, "2000"));
+ this.concurrencyFactor = Integer.valueOf(System.getProperty(PUSH_PROCESSING_CONCURRENCY_PROP, "50"));
} catch (Exception e){
// if junk is passed into the property, just default the values
maxAsyncThreads = 200;
workerQueueSize = 2000;
+ this.concurrencyFactor = 50;
}
@@ -330,7 +333,7 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
}).subscribeOn(Schedulers.from(asyncExecutor));
- }, Integer.valueOf(System.getProperty(PUSH_PROCESSING_CONCURRENCY_PROP, "50")))
+ }, concurrencyFactor)
.doOnError(throwable -> {
logger.error("Error while processing devices for notification : {}", notification.getUuid());