You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2015/10/30 20:04:20 UTC
[01/50] [abbrv] usergrid git commit: merge
Repository: usergrid
Updated Branches:
refs/heads/asf-site f3879a46c -> 0fd9939bc
merge
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/5ecc57f3
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/5ecc57f3
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/5ecc57f3
Branch: refs/heads/asf-site
Commit: 5ecc57f388794decd53e25a404c5706eeda2baa9
Parents: efffe47 a09485a
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Oct 19 13:20:51 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Oct 19 13:20:51 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 40 ++---
.../asyncevents/AsyncIndexProvider.java | 9 +-
.../asyncevents/model/AsyncEvent.java | 14 +-
.../asyncevents/model/EdgeDeleteEvent.java | 6 +-
.../asyncevents/model/EdgeIndexEvent.java | 9 +-
.../asyncevents/model/EntityDeleteEvent.java | 8 +-
.../asyncevents/model/EntityIndexEvent.java | 6 +-
.../model/InitializeApplicationIndexEvent.java | 4 +-
.../index/AmazonAsyncEventServiceTest.java | 6 +-
.../cache/CachedEntityCollectionManager.java | 147 -------------------
.../EntityCollectionManagerFactoryImpl.java | 6 -
.../usergrid/persistence/queue/QueueFig.java | 2 +-
.../queue/impl/SNSQueueManagerImpl.java | 6 +-
.../queue/impl/SQSQueueManagerImpl.java | 2 +-
14 files changed, 64 insertions(+), 201 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/5ecc57f3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/5ecc57f3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
----------------------------------------------------------------------
diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
index f5197d2,8b44714..fb63276
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
@@@ -27,7 -27,7 +27,8 @@@ import org.apache.usergrid.persistence.
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.impl.IndexProducer;
+import org.apache.usergrid.persistence.queue.LocalQueueManager;
+ import org.apache.usergrid.persistence.queue.QueueFig;
import org.apache.usergrid.persistence.queue.QueueManagerFactory;
import com.google.inject.Inject;
@@@ -96,16 -98,13 +99,16 @@@ public class AsyncIndexProvider impleme
switch (impl) {
case LOCAL:
- return new InMemoryAsyncEventService(eventBuilder, rxTaskScheduler, indexProducer,indexProcessorFig.resolveSynchronously());
+ AmazonAsyncEventService eventService = new AmazonAsyncEventService(scope -> new LocalQueueManager(), indexProcessorFig, indexProducer, metricsFactory,
+ entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, rxTaskScheduler);
+ eventService.MAX_TAKE = 1000;
+ return eventService;
case SQS:
return new AmazonAsyncEventService(queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler );
+ entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler,queueFig );
case SNS:
return new AmazonAsyncEventService(queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler );
+ entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler, queueFig);
default:
throw new IllegalArgumentException("Configuration value of " + getErrorValues() + " are allowed");
}
[17/50] [abbrv] usergrid git commit: Jacoco reports now built into
every module w/instructions in Coverage.md.
Posted by sn...@apache.org.
Jacoco reports now built into every module w/instructions in Coverage.md.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/29f5717f
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/29f5717f
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/29f5717f
Branch: refs/heads/asf-site
Commit: 29f5717fcec50bdeea41b4175a31f84a7921fe7b
Parents: 0f6f052
Author: Dave Johnson <sn...@apache.org>
Authored: Tue Oct 20 13:42:18 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Tue Oct 20 13:42:18 2015 -0400
----------------------------------------------------------------------
stack/Coverage.md | 21 +++++
stack/corepersistence/graph/pom.xml | 106 ++++++++------------------
stack/corepersistence/pom.xml | 9 +++
stack/corepersistence/queryindex/pom.xml | 46 +++++------
stack/pom.xml | 7 --
5 files changed, 86 insertions(+), 103 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/29f5717f/stack/Coverage.md
----------------------------------------------------------------------
diff --git a/stack/Coverage.md b/stack/Coverage.md
new file mode 100644
index 0000000..a2c1e47
--- /dev/null
+++ b/stack/Coverage.md
@@ -0,0 +1,21 @@
+Generating Coverage reports
+---
+
+run this command: mvn verify jacoco:report
+
+Once you do that the below coverage reports will be available.
+
+Coverage reports
+---
+
+* [./core/target/site/jacoco/index.html](file:./core/target/site/jacoco/index.html)
+* [./corepersistence/collection/target/site/jacoco/index.html](file:./corepersistence/collection/target/site/jacoco/index.html)
+* [./corepersistence/common/target/site/jacoco/index.html](file:./corepersistence/common/target/site/jacoco/index.html)
+* [./corepersistence/graph/target/site/jacoco/index.html](file:./corepersistence/graph/target/site/jacoco/index.html)
+* [./corepersistence/map/target/site/jacoco/index.html](file:./corepersistence/map/target/site/jacoco/index.html)
+* [./corepersistence/model/target/site/jacoco/index.html](file:./corepersistence/model/target/site/jacoco/index.html)
+* [./corepersistence/queryindex/target/site/jacoco/index.html](file:./corepersistence/queryindex/target/site/jacoco/index.html)
+* [./corepersistence/queue/target/site/jacoco/index.html](file:./corepersistence/queue/target/site/jacoco/index.html)
+* [./services/target/site/jacoco/index.html](file:./services/target/site/jacoco/index.html)
+* [./rest/target/site/jacoco/index.html](file:./services/target/site/jacoco/index.html)
+
http://git-wip-us.apache.org/repos/asf/usergrid/blob/29f5717f/stack/corepersistence/graph/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/pom.xml b/stack/corepersistence/graph/pom.xml
index 776380f..4a3a8a7 100644
--- a/stack/corepersistence/graph/pom.xml
+++ b/stack/corepersistence/graph/pom.xml
@@ -34,20 +34,6 @@
<name>Usergrid Graph</name>
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
- </plugins>
-
- </build>
<dependencies>
@@ -106,64 +92,36 @@
</dependencies>
- <build>
- <plugins>
-
-<!-- <plugin>
- <groupId>org.safehaus.chop</groupId>
- <artifactId>chop-maven-plugin</artifactId>
- <version>${chop.version}</version>
-
-
- NOTE: you should be putting most of these variables into your settings.xml
- as an automatically activated profile.
-
-
- <configuration>
- <accessKey>${aws.s3.key}</accessKey>
- <secretKey>${aws.s3.secret}</secretKey>
- <availabilityZone>${availabilityZone}</availabilityZone>
- <bucketName>${aws.s3.bucket}</bucketName>
- <managerAppUsername>admin</managerAppUsername>
- <managerAppPassword>${manager.app.password}</managerAppPassword>
- <testPackageBase>org.apache.usergrid</testPackageBase>
- <runnerSSHKeyFile>${runner.ssh.key.file}</runnerSSHKeyFile>
- <failIfCommitNecessary>false</failIfCommitNecessary>
- <amiID>${ami.id}</amiID>
- <instanceType>m1.large</instanceType>
- <resultsDirectory>${resultsDirectory}</resultsDirectory>
- <dumpType>${dumpType}</dumpType>
- <coldRestartTomcat>true</coldRestartTomcat>
- <awsSecurityGroup>${security.group}</awsSecurityGroup>
- <runnerKeyPairName>${runner.keypair.name}</runnerKeyPairName>
- <runnerCount>6</runnerCount>
- <runnerName>${runner.name}</runnerName>
- <securityGroupExceptions>
-
- Add your own IP address as an exception to allow access
- but please do this in the settings.xml file .. essentially
- all parameters should be in the settings.xml file.
-
- <param>${myip.address}/32:24981</param>
- <param>${myip.address}/32:22</param>
- </securityGroupExceptions>
- </configuration>
- </plugin>-->
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <!-- We want to exclude any chop tests or stress tests. They kill the embedded cassandra and
- aren't intended to be part of the build process-->
- <excludes>
- <exclude>**/*ChopTest.java</exclude>
- <exclude>**/*LoadTest.java</exclude>
- <exclude>**/*StressTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
-
- </plugins>
- </build>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>
+ -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
+ </argLine>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- We want to exclude any chop tests or stress tests. They kill the embedded cassandra and
+ aren't intended to be part of the build process-->
+ <excludes>
+ <exclude>**/*ChopTest.java</exclude>
+ <exclude>**/*LoadTest.java</exclude>
+ <exclude>**/*StressTest.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+
+ </plugins>
+
+ </build>
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/29f5717f/stack/corepersistence/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/pom.xml b/stack/corepersistence/pom.xml
index 09effb5..b98139c 100644
--- a/stack/corepersistence/pom.xml
+++ b/stack/corepersistence/pom.xml
@@ -75,6 +75,8 @@ limitations under the License.
<surefire.version>2.16</surefire.version>
<aws.version>1.10.6</aws.version>
<metrics.version>3.0.0</metrics.version>
+ <surefire.plugin.version>2.18.1</surefire.plugin.version>
+ <jacoco.version>0.7.5.201505241946</jacoco.version>
</properties>
@@ -129,6 +131,13 @@ limitations under the License.
</execution>
</executions>
</plugin>
+
+
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ </plugin>
+
</plugins>
<resources>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/29f5717f/stack/corepersistence/queryindex/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/pom.xml b/stack/corepersistence/queryindex/pom.xml
index e6a26b0..e2694c4 100644
--- a/stack/corepersistence/queryindex/pom.xml
+++ b/stack/corepersistence/queryindex/pom.xml
@@ -47,33 +47,35 @@
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <includes>
- <include>**/*IT.java</include>
- <include>**/*Test.java</include>
- </includes>
- <!-- run this one manually to stress test -->
- <excludes>
- <exclude>**/IndexLoadTestsIT.java</exclude>
- </excludes>
+ <configuration>
+ <includes>
+ <include>**/*IT.java</include>
+ <include>**/*Test.java</include>
+ </includes>
+ <!-- run this one manually to stress test -->
+ <excludes>
+ <exclude>**/IndexLoadTestsIT.java</exclude>
+ </excludes>
- </configuration>
+ </configuration>
- </plugin>
+ </plugin>
- </plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>
+ -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
+ </argLine>
+ </configuration>
+ </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
+ </plugins>
</build>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/29f5717f/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index ec60200..2236e22 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1681,13 +1681,6 @@
</dependencies>
</plugin>
-<!--
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- </plugin>
--->
-
</plugins>
</build>
[27/50] [abbrv] usergrid git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/usergrid
Posted by sn...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/efa96dc4
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/efa96dc4
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/efa96dc4
Branch: refs/heads/asf-site
Commit: efa96dc47bb5c0248205565e24f7afba9102d2af
Parents: c71133f 1393c2f
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 15:59:34 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 15:59:34 2015 -0600
----------------------------------------------------------------------
.../runAuditVerifyCollectionEntities.sh | 11 +-
stack/loadtests/runDeleteEntities.sh | 13 +-
stack/loadtests/runLoadEntitiesUnlimited.sh | 103 +++++++++++++
.../datagenerators/FeederGenerator.scala | 9 +-
.../usergrid/enums/ConfigProperties.scala | 15 +-
.../apache/usergrid/helpers/Extractors.scala | 24 ++-
.../org/apache/usergrid/helpers/Headers.scala | 7 +
.../usergrid/scenarios/AuditScenarios.scala | 121 ++++++++++++++-
.../scenarios/EntityCollectionScenarios.scala | 38 ++++-
.../org/apache/usergrid/settings/Settings.scala | 150 +++++++++++++++----
stack/loadtests/testConfig.sh | 3 +
11 files changed, 435 insertions(+), 59 deletions(-)
----------------------------------------------------------------------
[22/50] [abbrv] usergrid git commit: Merge branch 'master' into
remove-inmemory-event-service
Posted by sn...@apache.org.
Merge branch 'master' into remove-inmemory-event-service
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/fad8ecdb
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/fad8ecdb
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/fad8ecdb
Branch: refs/heads/asf-site
Commit: fad8ecdb08e58a9a72a9268763dfee48e87d2b55
Parents: 5eed63d 59edea1
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 13:16:30 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 13:16:30 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 15 ++-
.../model/ElasticsearchIndexEvent.java | 3 +-
.../corepersistence/index/PublishRxTest.java | 95 ----------------
.../usergrid/corepersistence/index/RxTest.java | 108 +++++++++++++++++++
.../core/astyanax/CassandraConfig.java | 8 +-
.../core/astyanax/CassandraConfigImpl.java | 1 +
.../persistence/core/astyanax/CassandraFig.java | 6 +-
.../map/impl/MapSerializationImpl.java | 37 ++-----
.../queue/impl/SNSQueueManagerImpl.java | 10 +-
9 files changed, 140 insertions(+), 143 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/fad8ecdb/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/fad8ecdb/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java
----------------------------------------------------------------------
diff --cc stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java
index 0000000,1d940d0..d7b0bdb
mode 000000,100644..100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java
@@@ -1,0 -1,108 +1,108 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ package org.apache.usergrid.corepersistence.index;
+
+
+ import java.util.concurrent.CountDownLatch;
+ import java.util.concurrent.TimeUnit;
+
+ import org.junit.Ignore;
+ import org.junit.Test;
+
+ import rx.Observable;
+ import rx.Subscription;
+ import rx.observables.ConnectableObservable;
+ import rx.schedulers.Schedulers;
+
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertTrue;
+
+
+ /**
+ * Test to test some assumptions about RX behaviors
+ */
+ public class RxTest {
+
+ @Test
+ public void testPublish() throws InterruptedException {
+
+ final int count = 10;
+
+ final CountDownLatch latch = new CountDownLatch( count );
+
+ final Subscription connectedObservable =
+ Observable.range( 0, count ).doOnNext( integer -> latch.countDown() ).subscribeOn( Schedulers.io() )
+ .subscribe();
+
+
- final boolean completed = latch.await( 5, TimeUnit.SECONDS );
++ final boolean completed = latch.await( 3, TimeUnit.SECONDS );
+
+ assertTrue( "publish1 behaves as expected", completed );
+
+ final boolean completedSubscription = connectedObservable.isUnsubscribed();
+
+ assertTrue( "Subscription complete", completedSubscription );
+ }
+
+
+ @Test
+ @Ignore("This seems like it should work, yet blocks forever")
+ public void testConnectableObserver() throws InterruptedException {
+
+ final int count = 10;
+
+ final CountDownLatch latch = new CountDownLatch( count );
+
+ final ConnectableObservable<Integer> connectedObservable = Observable.range( 0, count ).publish();
+
+
+ //connect to our latch, which should run on it's own subscription
+ //start our latch running
+ connectedObservable.doOnNext( integer -> latch.countDown() ).subscribeOn( Schedulers.io() ).subscribe();
+
+
+ final Observable<Integer> countObservable = connectedObservable.subscribeOn( Schedulers.io() ).count();
+
+ //start the sequence
+ connectedObservable.connect();
+
+
+ final boolean completed = latch.await( 5, TimeUnit.SECONDS );
+
+ assertTrue( "publish1 behaves as expected", completed );
+
+ final int returnedCount = countObservable.toBlocking().last();
+
+ assertEquals( "Counts the same", count, returnedCount );
+ }
+
+
+ /**
+ * Tests that reduce emits
+ */
+ @Test
+ public void testReduceEmpty(){
+ final int result = Observable.range( 0, 100 ).filter( value -> value == -1 ).reduce( 0, ( integer, integer2 ) -> integer + 1 ).toBlocking().last();
+
+ assertEquals(0, result);
+ }
+
+
+ }
[15/50] [abbrv] usergrid git commit: Merge remote-tracking branch
'origin/USERGRID-1048'
Posted by sn...@apache.org.
Merge remote-tracking branch 'origin/USERGRID-1048'
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b51287cc
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b51287cc
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b51287cc
Branch: refs/heads/asf-site
Commit: b51287cc2693ad2dea10ebe2197bce5dcd004992
Parents: a679aea fbb6c82
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 09:20:14 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 09:20:14 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 379 ++++++++----
.../asyncevents/AsyncEventService.java | 1 +
.../asyncevents/AsyncIndexProvider.java | 12 +-
.../asyncevents/model/AsyncEvent.java | 8 +-
.../model/ElasticsearchIndexEvent.java | 51 ++
.../index/IndexProcessorFig.java | 11 +
.../util/ObjectJsonSerializer.java | 92 +++
.../index/AmazonAsyncEventServiceTest.java | 6 +-
.../index/AsyncIndexServiceTest.java | 2 +-
.../corepersistence/index/PublishRxTest.java | 95 ---
.../usergrid/corepersistence/index/RxTest.java | 108 ++++
.../persistence/core/astyanax/CassandraFig.java | 6 +-
.../usergrid/persistence/map/MapManager.java | 25 +-
.../persistence/map/impl/MapManagerImpl.java | 6 +
.../persistence/map/impl/MapSerialization.java | 27 +-
.../map/impl/MapSerializationImpl.java | 265 ++++----
.../index/impl/DeIndexOperation.java | 4 +
.../persistence/index/impl/IndexOperation.java | 4 +
.../index/impl/IndexOperationMessage.java | 5 +
.../persistence/queue/DefaultQueueManager.java | 12 +-
.../persistence/queue/QueueManager.java | 8 +-
.../persistence/queue/guice/QueueModule.java | 1 -
.../queue/impl/SNSQueueManagerImpl.java | 617 +++++++++++--------
.../queue/impl/SQSQueueManagerImpl.java | 352 -----------
.../services/queues/ImportQueueManager.java | 9 +-
25 files changed, 1126 insertions(+), 980 deletions(-)
----------------------------------------------------------------------
[18/50] [abbrv] usergrid git commit: Merge branch 'master' into jacoco
Posted by sn...@apache.org.
Merge branch 'master' into jacoco
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/fb69ba3e
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/fb69ba3e
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/fb69ba3e
Branch: refs/heads/asf-site
Commit: fb69ba3e9052134b55392431ce9dfe6d879ac9d1
Parents: 29f5717 a679aea
Author: Dave Johnson <sn...@apache.org>
Authored: Tue Oct 20 13:42:54 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Tue Oct 20 13:42:54 2015 -0400
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 40 ++---
.../asyncevents/AsyncIndexProvider.java | 10 +-
.../asyncevents/model/AsyncEvent.java | 14 +-
.../asyncevents/model/EdgeDeleteEvent.java | 6 +-
.../asyncevents/model/EdgeIndexEvent.java | 9 +-
.../asyncevents/model/EntityDeleteEvent.java | 8 +-
.../asyncevents/model/EntityIndexEvent.java | 6 +-
.../model/InitializeApplicationIndexEvent.java | 4 +-
.../index/IndexProcessorFig.java | 7 +-
.../index/AmazonAsyncEventServiceTest.java | 6 +-
.../cache/CachedEntityCollectionManager.java | 147 -------------------
.../EntityCollectionManagerFactoryImpl.java | 6 -
.../usergrid/persistence/queue/QueueFig.java | 8 +-
.../queue/impl/SNSQueueManagerImpl.java | 8 +-
.../queue/impl/SQSQueueManagerImpl.java | 2 +-
.../queue/util/AmazonNotificationUtils.java | 4 +-
16 files changed, 74 insertions(+), 211 deletions(-)
----------------------------------------------------------------------
[35/50] [abbrv] usergrid git commit: This closes #404 -- invalid PR
Posted by sn...@apache.org.
This closes #404 -- invalid PR
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e9c51cdd
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e9c51cdd
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e9c51cdd
Branch: refs/heads/asf-site
Commit: e9c51cdddde910a5b8f6cf35f34f6f91eb05f4f0
Parents: df9bc60
Author: Mike Dunker <md...@apigee.com>
Authored: Thu Oct 22 12:19:09 2015 -0700
Committer: Mike Dunker <md...@apigee.com>
Committed: Thu Oct 22 12:19:09 2015 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[50/50] [abbrv] usergrid git commit: Merge branch 'asf-site' of
https://git-wip-us.apache.org/repos/asf/usergrid into asf-site
Posted by sn...@apache.org.
Merge branch 'asf-site' of https://git-wip-us.apache.org/repos/asf/usergrid into asf-site
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0fd9939b
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0fd9939b
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0fd9939b
Branch: refs/heads/asf-site
Commit: 0fd9939bc004d6500293edb85a525bcf1f8e6bc3
Parents: 9d3cf5b f3879a4
Author: Dave Johnson <sn...@apache.org>
Authored: Fri Oct 30 15:04:03 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Fri Oct 30 15:04:03 2015 -0400
----------------------------------------------------------------------
content/community/index.html | 2 +-
content/img/miked.jpg | Bin 0 -> 36443 bytes
website/tmp/checksums | 4 ++--
website/tmp/compiled_content | 16 ++++++++--------
website/tmp/dependencies | 2 +-
website/tmp/rule_memory | Bin 5163 -> 5214 bytes
6 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
[14/50] [abbrv] usergrid git commit: Merge branch '2.1-release' of
https://git-wip-us.apache.org/repos/asf/usergrid
Posted by sn...@apache.org.
Merge branch '2.1-release' of https://git-wip-us.apache.org/repos/asf/usergrid
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/a679aea4
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/a679aea4
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/a679aea4
Branch: refs/heads/asf-site
Commit: a679aea4a46f29c60e64bfdf8e484149450c1fea
Parents: e7c805f a09485a
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 09:17:19 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 09:17:19 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 40 ++---
.../asyncevents/AsyncIndexProvider.java | 10 +-
.../asyncevents/model/AsyncEvent.java | 14 +-
.../asyncevents/model/EdgeDeleteEvent.java | 6 +-
.../asyncevents/model/EdgeIndexEvent.java | 9 +-
.../asyncevents/model/EntityDeleteEvent.java | 8 +-
.../asyncevents/model/EntityIndexEvent.java | 6 +-
.../model/InitializeApplicationIndexEvent.java | 4 +-
.../index/IndexProcessorFig.java | 7 +-
.../index/AmazonAsyncEventServiceTest.java | 6 +-
.../cache/CachedEntityCollectionManager.java | 147 -------------------
.../EntityCollectionManagerFactoryImpl.java | 6 -
.../usergrid/persistence/queue/QueueFig.java | 8 +-
.../queue/impl/SNSQueueManagerImpl.java | 8 +-
.../queue/impl/SQSQueueManagerImpl.java | 2 +-
.../queue/util/AmazonNotificationUtils.java | 4 +-
16 files changed, 74 insertions(+), 211 deletions(-)
----------------------------------------------------------------------
[41/50] [abbrv] usergrid git commit: Merge branch 'master' into jacoco
Posted by sn...@apache.org.
Merge branch 'master' into jacoco
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/04f59afa
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/04f59afa
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/04f59afa
Branch: refs/heads/asf-site
Commit: 04f59afaec81dfd11b8063a908f4ac0b43d859c5
Parents: 0185a0b 4e647e0
Author: Dave Johnson <sn...@apache.org>
Authored: Fri Oct 23 16:18:57 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Fri Oct 23 16:18:57 2015 -0400
----------------------------------------------------------------------
stack/pom.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/04f59afa/stack/pom.xml
----------------------------------------------------------------------
[44/50] [abbrv] usergrid git commit: Fixes to new jacoco profile.
Posted by sn...@apache.org.
Fixes to new jacoco profile.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b2f62a20
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b2f62a20
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b2f62a20
Branch: refs/heads/asf-site
Commit: b2f62a20011df6e9b5a68ffd6356088c767dc1d1
Parents: 04f59af
Author: Dave Johnson <sn...@apache.org>
Authored: Mon Oct 26 11:09:22 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Mon Oct 26 11:09:22 2015 -0400
----------------------------------------------------------------------
stack/core/pom.xml | 88 ++---------------------
stack/jacoco-pom.xml | 122 ++++++++++++++++++++++++++++++++
stack/pom.xml | 159 +++---------------------------------------
stack/rest/pom.xml | 11 +--
stack/services/pom.xml | 13 ++--
stack/test-utils/pom.xml | 65 +++++++++--------
6 files changed, 185 insertions(+), 273 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/b2f62a20/stack/core/pom.xml
----------------------------------------------------------------------
diff --git a/stack/core/pom.xml b/stack/core/pom.xml
index 5b4ebfc..7f7dcfb 100644
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@ -76,42 +76,9 @@
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <systemPropertyVariables>
- <storage-config>${basedir}/src/test/conf</storage-config>
- <target.directory>${project.build.directory}</target.directory>
- </systemPropertyVariables>
- <parallel>methods</parallel>
- <forkCount>${usergrid.it.forkCount}</forkCount>
- <threadCount>${usergrid.it.threads}</threadCount>
- <reuseForks>true</reuseForks>
- <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
- <!-- see this page for documentation on classloading issues http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
- <!--<useSystemClassLoader>false</useSystemClassLoader>-->
- <!--<useManifestOnlyJar>false</useManifestOnlyJar>-->
- <includes>
- <include>**/*IT.java</include>
- <include>**/*Test.java</include>
- </includes>
-
- </configuration>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>${surefire.plugin.artifactName}</artifactId>
- <version>${surefire.plugin.version}</version>
- </dependency>
- <!--<dependency>-->
- <!--<groupId>org.codehaus.plexus</groupId>-->
- <!--<artifactId>plexus-utils</artifactId>-->
- <!--<version>3.0.21</version>-->
- <!--</dependency>-->
- </dependencies>
- </plugin>
+ <!--
+ Do not need to configure surefire plugin here, parent POM configuration is sufficient.
+ -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -132,33 +99,6 @@
</executions>
</plugin>
-
-<!-- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.usergrid.chop</groupId>
- <artifactId>chop-maven-plugin</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <configuration>
- <username>${chop.coordinator.username}</username>
- <password>${chop.coordinator.password}</password>
- <endpoint>https://${chop.coordinator.url}:8443</endpoint>
- <testPackageBase>ctest</testPackageBase>
- <runnerCount>1</runnerCount>
- </configuration>
- </plugin>-->
-
</plugins>
</build>
@@ -497,24 +437,8 @@
</dependencies>
-<!--
- <profiles>
- <profile>
- <id>jacoco</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
--->
+ <!--
+ Do not need jacoco profile here because we do not override the surefire plugin in this POM
+ -->
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/b2f62a20/stack/jacoco-pom.xml
----------------------------------------------------------------------
diff --git a/stack/jacoco-pom.xml b/stack/jacoco-pom.xml
new file mode 100644
index 0000000..e1f5054
--- /dev/null
+++ b/stack/jacoco-pom.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.usergrid</groupId>
+ <artifactId>usergrid-coverage-report</artifactId>
+ <version>1.0</version>
+ <name>Usergrid Coverage Report</name>
+ <description>Merges module coverage reports into one aggregated file</description>
+ <packaging>pom</packaging>
+
+ <properties>
+ <jacoco.version>0.7.5.201505241946</jacoco.version>
+ </properties>
+
+ <build>
+
+ <plugins>
+
+ <!-- Jacoco Ant plugin > Jacoco Maven Plugin -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.6</version>
+ <executions>
+ <execution>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <!-- Execute an ant task within maven -->
+ <echo message="Generating JaCoCo Reports" />
+ <taskdef name="report" classname="org.jacoco.ant.ReportTask">
+ <classpath path="${basedir}/target/jacoco-jars/org.jacoco.ant.jar" />
+ </taskdef>
+ <mkdir dir="${basedir}/target/coverage-report" />
+ <report>
+
+ <executiondata>
+ <fileset dir="corepersistence/collection/target">
+ <include name="jacoco.exec" />
+ </fileset>
+ <fileset dir="rest/target">
+ <include name="jacoco.exec" />
+ </fileset>
+ </executiondata>
+
+ <structure name="jacoco-multi Coverage Project">
+ <group name="jacoco-multi">
+ <classfiles>
+ <fileset dir="corepersistence/cache/target/classes" />
+ <fileset dir="corepersistence/collection/target/classes" />
+ <fileset dir="corepersistence/common/target/classes" />
+ <fileset dir="corepersistence/graph/target/classes" />
+
+ <fileset dir="corepersistence/map/target/classes" />
+ <fileset dir="corepersistence/model/target/classes" />
+ <fileset dir="corepersistence/queryindex/target/classes" />
+ <fileset dir="corepersistence/queue/target/classes" />
+
+ <fileset dir="core/target/classes" />
+ <fileset dir="services/target/classes" />
+ <fileset dir="rest/target/classes" />
+ </classfiles>
+ <sourcefiles encoding="UTF-8">
+ <fileset dir="corepersistence/cache/src" />
+ <fileset dir="corepersistence/collection/src" />
+ <fileset dir="corepersistence/common/src" />
+ <fileset dir="corepersistence/graph/src" />
+ <fileset dir="corepersistence/map/src" />
+ <fileset dir="corepersistence/model/src" />
+ <fileset dir="corepersistence/queryindex/src" />
+ <fileset dir="corepersistence/queue/src" />
+ <fileset dir="core/src" />
+ <fileset dir="services/src" />
+ <fileset dir="rest/src" />
+ </sourcefiles>
+ </group>
+
+ </structure>
+ <html destdir="${basedir}/target/coverage-report/html" />
+ <xml destfile="${basedir}/target/coverage-report/coverage-report.xml" />
+ <csv destfile="${basedir}/target/coverage-report/coverage-report.csv" />
+ </report>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jacoco</groupId>
+ <artifactId>org.jacoco.ant</artifactId>
+ <version>${jacoco.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ </plugins>
+
+ </build>
+
+</project>
+
http://git-wip-us.apache.org/repos/asf/usergrid/blob/b2f62a20/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index b80e766..395175c 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -578,142 +578,6 @@
</exclusions>
</dependency>
- <!-- Sun and Javax Package Dependencies -->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey</groupId>-->
- <!--<artifactId>jersey-core</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey</groupId>-->
- <!--<artifactId>jersey-json</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--<exclusions>-->
- <!--<exclusion>-->
- <!--<groupId>org.codehaus.jettison</groupId>-->
- <!--<artifactId>jettison</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.codehaus.jackson</groupId>-->
- <!--<artifactId>jackson-core-asl</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.codehaus.jackson</groupId>-->
- <!--<artifactId>jackson-mapper-asl</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.codehaus.jackson</groupId>-->
- <!--<artifactId>jackson-jaxrs</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.codehaus.jackson</groupId>-->
- <!--<artifactId>jackson-xc</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>javax.activation</groupId>-->
- <!--<artifactId>activation</artifactId>-->
- <!--</exclusion>-->
- <!--</exclusions>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey</groupId>-->
- <!--<artifactId>jersey-client</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey</groupId>-->
- <!--<artifactId>jersey-server</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey</groupId>-->
- <!--<artifactId>jersey-grizzly2</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>org.glassfish.grizzly</groupId>-->
- <!--<artifactId>grizzly-http-servlet-server</artifactId>-->
- <!--<version>2.1.2</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey.contribs</groupId>-->
- <!--<artifactId>jersey-spring</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--<exclusions>-->
- <!--<exclusion>-->
- <!--<groupId>org.springframework</groupId>-->
- <!--<artifactId>spring-aop</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.springframework</groupId>-->
- <!--<artifactId>spring-core</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.springframework</groupId>-->
- <!--<artifactId>spring</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.springframework</groupId>-->
- <!--<artifactId>spring-beans</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.springframework</groupId>-->
- <!--<artifactId>spring-context</artifactId>-->
- <!--</exclusion>-->
-
- <!--<exclusion>-->
- <!--<groupId>org.springframework</groupId>-->
- <!--<artifactId>spring-web</artifactId>-->
- <!--</exclusion>-->
- <!--</exclusions>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey.contribs</groupId>-->
- <!--<artifactId>jersey-multipart</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey.contribs.jersey-oauth</groupId>-->
- <!--<artifactId>oauth-signature</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey.contribs.jersey-oauth</groupId>-->
- <!--<artifactId>oauth-server</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey.jersey-test-framework</groupId>-->
- <!--<artifactId>jersey-test-framework-external</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
- <!--<dependency>-->
- <!--<groupId>com.sun.jersey.jersey-test-framework</groupId>-->
- <!--<artifactId>jersey-test-framework-core</artifactId>-->
- <!--<version>${jersey-version}</version>-->
- <!--</dependency>-->
-
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
@@ -1436,16 +1300,14 @@
<plugins>
-
<!--
- <plugin>
- <groupId>com.structure101.java</groupId>
- <artifactId>maven-structure101-plugin</artifactId>
- <version>1.1</version>
- </plugin>
+ <plugin>
+ <groupId>com.structure101.java</groupId>
+ <artifactId>maven-structure101-plugin</artifactId>
+ <version>1.1</version>
+ </plugin>
-->
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
@@ -1472,16 +1334,15 @@
<forkCount>${usergrid.it.forkCount}</forkCount>
<reuseForks>${usergrid.it.reuseForks}</reuseForks>
<threadCount>${usergrid.it.forkCount}</threadCount>
- <!-- see this page for documentation on classloading issues http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
+
+ <!-- see this page for documentation on classloading issues
+ http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
<useSystemClassLoader>false</useSystemClassLoader>
- <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
- <!--<argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>-->
- <testFailureIgnore>false</testFailureIgnore>
+ <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
<systemPropertyVariables>
<jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
</systemPropertyVariables>
-
</configuration>
<!-- TODO, we may need an exclusion. Appears to be a classloader bug
@@ -1544,7 +1405,7 @@
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
<!-- we should increase this as our coverage increases -->
- <minimum>0.30</minimum>
+ <minimum>0.15</minimum>
</limit>
</limits>
</rule>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/b2f62a20/stack/rest/pom.xml
----------------------------------------------------------------------
diff --git a/stack/rest/pom.xml b/stack/rest/pom.xml
index e56f705..d70cdd8 100644
--- a/stack/rest/pom.xml
+++ b/stack/rest/pom.xml
@@ -62,12 +62,14 @@
<plugins>
+ <!--
+ Need to override parent's surefire plugin here to set system properties.
+ -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
<configuration>
- <!--<skipTests>true</skipTests>-->
<systemPropertyVariables>
<storage-config>${basedir}/src/test/conf</storage-config>
<target.directory>${project.build.directory}</target.directory>
@@ -396,7 +398,9 @@
</dependencies>
-<!--
+ <!--
+ Need jacoco profile here because we override the parent's surefire plugin settings above.
+ -->
<profiles>
<profile>
<id>jacoco</id>
@@ -407,13 +411,12 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
<configuration>
- <argLine>-javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -Dwebapp.directory=${basedir}/src/main/webapp -Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar -Djava.util.logging.config.file=${basedir}/src/test/resources/logging.properties ${ug.argline}</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
--->
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/b2f62a20/stack/services/pom.xml
----------------------------------------------------------------------
diff --git a/stack/services/pom.xml b/stack/services/pom.xml
index e634f91..0c66ccf 100644
--- a/stack/services/pom.xml
+++ b/stack/services/pom.xml
@@ -79,11 +79,14 @@
</testResources>
<plugins>
+
+ <!--
+ Need to override parent's surefire plugin here to set system properties.
+ -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
-
<configuration>
<systemPropertyVariables>
<storage-config>${basedir}/src/test/conf</storage-config>
@@ -100,8 +103,6 @@
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
-
- <!-- exclude our serial tests -->
<excludes>
<exclude>**/*Scheduler*IT.java</exclude>
<exclude>**/*Notification*IT.java</exclude>
@@ -123,6 +124,7 @@
</dependencies>
</plugin>
+
</plugins>
</build>
@@ -475,7 +477,9 @@
</dependencies>
-<!--
+ <!--
+ Need jacoco profile here because we override the parent's surefire plugin settings above.
+ -->
<profiles>
<profile>
<id>jacoco</id>
@@ -493,6 +497,5 @@
</build>
</profile>
</profiles>
--->
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/b2f62a20/stack/test-utils/pom.xml
----------------------------------------------------------------------
diff --git a/stack/test-utils/pom.xml b/stack/test-utils/pom.xml
index 590f0e8..c104f0a 100644
--- a/stack/test-utils/pom.xml
+++ b/stack/test-utils/pom.xml
@@ -41,37 +41,35 @@
</testResource>
</testResources>
-
-
-
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <storage-config>${basedir}/src/test/conf</storage-config>
- <target.directory>${project.build.directory}</target.directory>
- </systemPropertyVariables>
- <parallel>classes</parallel>
- <forkCount>${usergrid.it.forkCount}</forkCount>
- <threadCount>${usergrid.it.threads}</threadCount>
- <threadCountClasses></threadCountClasses>
- <reuseForks>true</reuseForks>
- <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
-
-
- <includes>
- <include>**/CassandraResourceITSuite.java</include>
- <!-- <include>**/CassandraResourceTest.java</include>-->
- </includes>
- <excludes>
- <exclude>**/CassandraRunnerTest.java</exclude>
- <exclude>**/OtherRunnerTest.java</exclude>
- </excludes>
- </configuration>
- <version>2.18</version>
- </plugin>
+
+ <!--
+ Need to override parent's surefire plugin here to set system properties.
+ -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <storage-config>${basedir}/src/test/conf</storage-config>
+ <target.directory>${project.build.directory}</target.directory>
+ </systemPropertyVariables>
+ <parallel>classes</parallel>
+ <forkCount>${usergrid.it.forkCount}</forkCount>
+ <threadCount>${usergrid.it.threads}</threadCount>
+ <threadCountClasses></threadCountClasses>
+ <reuseForks>true</reuseForks>
+ <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
+ <includes>
+ <include>**/CassandraResourceITSuite.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/CassandraRunnerTest.java</exclude>
+ <exclude>**/OtherRunnerTest.java</exclude>
+ </excludes>
+ </configuration>
+ <version>2.18</version>
+ </plugin>
</plugins>
@@ -271,7 +269,9 @@
</dependencies>
-<!--
+ <!--
+ Need jacoco profile here because we override the parent's surefire plugin settings above.
+ -->
<profiles>
<profile>
<id>jacoco</id>
@@ -282,13 +282,12 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
<configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
--->
</project>
[16/50] [abbrv] usergrid git commit: Fixes comments and refactors map
to be a cleaner read pattern
Posted by sn...@apache.org.
Fixes comments and refactors map to be a cleaner read pattern
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e50835f1
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e50835f1
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e50835f1
Branch: refs/heads/asf-site
Commit: e50835f1016a9988513a00b64337222957fa7747
Parents: fbb6c82
Author: Todd Nine <tn...@apigee.com>
Authored: Tue Oct 20 09:34:43 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Tue Oct 20 09:34:43 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 2 +-
.../core/astyanax/CassandraConfig.java | 8 ++---
.../core/astyanax/CassandraConfigImpl.java | 1 +
.../map/impl/MapSerializationImpl.java | 37 ++++----------------
.../queue/impl/SNSQueueManagerImpl.java | 4 +--
5 files changed, 14 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e50835f1/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index 38c2966..6f779b5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -521,7 +521,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
final IndexOperationMessage indexOperationMessage;
if(message == null){
- logger.error( "Received message with id {} to process, unable to find it, reading with higher consistency level",
+ logger.warn( "Received message with id {} to process, unable to find it, reading with higher consistency level",
messageId);
final String highConsistency = esMapPersistence.getStringHighConsistency( messageId.toString() );
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e50835f1/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
index 817aee2..dba3646 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
@@ -34,25 +34,25 @@ public interface CassandraConfig {
* Get the currently configured ReadCL
* @return
*/
- public ConsistencyLevel getReadCL();
+ ConsistencyLevel getReadCL();
/**
* Get the currently configured ReadCL that is more consitent than getReadCL
* @return
*/
- public ConsistencyLevel getConsistentReadCL();
+ ConsistencyLevel getConsistentReadCL();
/**
* Get the currently configured write CL
* @return
*/
- public ConsistencyLevel getWriteCL();
+ ConsistencyLevel getWriteCL();
/**
* Return the number of shards that has been set in the property file
* @return
*/
- public int[] getShardSettings();
+ int[] getShardSettings();
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e50835f1/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
index 17b91c6..7373322 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
@@ -83,6 +83,7 @@ public class CassandraConfigImpl implements CassandraConfig {
public ConsistencyLevel getConsistentReadCL() {
return consistentCl;
}
+
@Override
public ConsistencyLevel getWriteCL() {
return writeCl;
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e50835f1/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java b/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
index ffe10c9..ceeb3ad 100644
--- a/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
+++ b/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
@@ -129,14 +129,14 @@ public class MapSerializationImpl implements MapSerialization {
@Override
public String getString( final MapScope scope, final String key ) {
- Column<Boolean> col = getValue( scope, key );
+ Column<Boolean> col = getValue( scope, key, cassandraConfig.getReadCL() );
return ( col != null ) ? col.getStringValue() : null;
}
@Override
public String getStringHighConsistency( final MapScope scope, final String key ) {
- Column<Boolean> col = getValueHighConsistency( scope, key ); // TODO: why boolean?
+ Column<Boolean> col = getValue( scope, key, cassandraConfig.getConsistentReadCL() ); // TODO: why boolean?
return ( col != null ) ? col.getStringValue() : null;
}
@@ -248,7 +248,7 @@ public class MapSerializationImpl implements MapSerialization {
@Override
public UUID getUuid( final MapScope scope, final String key ) {
- Column<Boolean> col = getValue( scope, key );
+ Column<Boolean> col = getValue( scope, key, cassandraConfig.getReadCL() );
return ( col != null ) ? col.getUUIDValue() : null;
}
@@ -283,7 +283,7 @@ public class MapSerializationImpl implements MapSerialization {
@Override
public Long getLong( final MapScope scope, final String key ) {
- Column<Boolean> col = getValue( scope, key );
+ Column<Boolean> col = getValue( scope, key, cassandraConfig.getReadCL() );
return ( col != null ) ? col.getLongValue() : null;
}
@@ -355,31 +355,7 @@ public class MapSerializationImpl implements MapSerialization {
}
- private Column<Boolean> getValue( MapScope scope, String key ) {
-
-
- //add it to the entry
- final ScopedRowKey<MapEntryKey> entryRowKey = MapEntryKey.fromKey( scope, key );
-
- //now get all columns, including the "old row key value"
- try {
- final Column<Boolean> result =
- keyspace.prepareQuery( MAP_ENTRIES ).getKey( entryRowKey ).getColumn( true ).execute().getResult();
-
- return result;
- }
- catch ( NotFoundException nfe ) {
- //nothing to return
- return null;
- }
- catch ( ConnectionException e ) {
- throw new RuntimeException( "Unable to connect to cassandra", e );
- }
- }
-
-
- private Column<Boolean> getValueHighConsistency( MapScope scope, String key ) {
-
+ private Column<Boolean> getValue( MapScope scope, String key, final ConsistencyLevel consistencyLevel ) {
//add it to the entry
final ScopedRowKey<MapEntryKey> entryRowKey = MapEntryKey.fromKey( scope, key );
@@ -387,8 +363,7 @@ public class MapSerializationImpl implements MapSerialization {
//now get all columns, including the "old row key value"
try {
final Column<Boolean> result =
- keyspace.prepareQuery( MAP_ENTRIES ).setConsistencyLevel( cassandraConfig.getConsistentReadCL() )
- .getKey( entryRowKey ).getColumn( true ).execute().getResult();
+ keyspace.prepareQuery( MAP_ENTRIES ).setConsistencyLevel( consistencyLevel ).getKey( entryRowKey ).getColumn( true ).execute().getResult();
return result;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e50835f1/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index 1bb00dc..bc5f2f1 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@ -438,7 +438,7 @@ public class SNSQueueManagerImpl implements QueueManager {
/**
* When a message originates from SNS it has a "Message" we have to extract
- * it and then process it seperately
+ * it and then process it separately
*/
@@ -546,7 +546,7 @@ public class SNSQueueManagerImpl implements QueueManager {
if ( sqsAsync == null ) {
logger.error( "SQS client is null, perhaps it failed to initialize successfully" );
return;
- }
+ }
for ( Object body : bodies ) {
sendMessage( ( Serializable ) body );
[38/50] [abbrv] usergrid git commit: remove jacoco
Posted by sn...@apache.org.
remove jacoco
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/4e647e0a
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/4e647e0a
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/4e647e0a
Branch: refs/heads/asf-site
Commit: 4e647e0a1ea00f57e4a2305056b10f88b07c2710
Parents: d1ed645
Author: Shawn Feldman <sf...@apache.org>
Authored: Fri Oct 23 10:45:58 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Fri Oct 23 10:45:58 2015 -0600
----------------------------------------------------------------------
stack/pom.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/4e647e0a/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 6498595..aba1c0b 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1474,7 +1474,8 @@
<threadCount>${usergrid.it.forkCount}</threadCount>
<!-- see this page for documentation on classloading issues http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
<useSystemClassLoader>false</useSystemClassLoader>
- <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
+ <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
+ <!--<argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>-->
<testFailureIgnore>false</testFailureIgnore>
<systemPropertyVariables>
[23/50] [abbrv] usergrid git commit: Merge commit
'refs/pull/403/head' of github.com:apache/usergrid
Posted by sn...@apache.org.
Merge commit 'refs/pull/403/head' of github.com:apache/usergrid
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/1393c2f7
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/1393c2f7
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/1393c2f7
Branch: refs/heads/asf-site
Commit: 1393c2f76e44150352497f661907801151807806
Parents: 59edea1 2f307a7
Author: Michael Russo <mi...@gmail.com>
Authored: Tue Oct 20 12:18:48 2015 -0700
Committer: Michael Russo <mi...@gmail.com>
Committed: Tue Oct 20 12:18:48 2015 -0700
----------------------------------------------------------------------
.../runAuditVerifyCollectionEntities.sh | 11 +-
stack/loadtests/runDeleteEntities.sh | 13 +-
stack/loadtests/runLoadEntitiesUnlimited.sh | 103 +++++++++++++
.../datagenerators/FeederGenerator.scala | 9 +-
.../usergrid/enums/ConfigProperties.scala | 15 +-
.../apache/usergrid/helpers/Extractors.scala | 24 ++-
.../org/apache/usergrid/helpers/Headers.scala | 7 +
.../usergrid/scenarios/AuditScenarios.scala | 121 ++++++++++++++-
.../scenarios/EntityCollectionScenarios.scala | 38 ++++-
.../org/apache/usergrid/settings/Settings.scala | 150 +++++++++++++++----
stack/loadtests/testConfig.sh | 3 +
11 files changed, 435 insertions(+), 59 deletions(-)
----------------------------------------------------------------------
[07/50] [abbrv] usergrid git commit: Adds comment
Posted by sn...@apache.org.
Adds comment
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/4013f17e
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/4013f17e
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/4013f17e
Branch: refs/heads/asf-site
Commit: 4013f17e434a5eb05f4851d28dba6a3e0bfe8fc8
Parents: 19d30ea
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Oct 19 14:10:51 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Oct 19 14:10:51 2015 -0600
----------------------------------------------------------------------
.../corepersistence/asyncevents/AmazonAsyncEventService.java | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/4013f17e/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index 67d0dab..ee9054b 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -536,6 +536,10 @@ public class AmazonAsyncEventService implements AsyncEventService {
indexOperationMessage = ObjectJsonSerializer.INSTANCE.fromString( message, IndexOperationMessage.class );
}
+
+ //NOTE that we intentionally do NOT delete from the map. We can't know when all regions have consumed the message
+ //so we'll let compaction on column expiration handle deletion
+
//read the value from the string
Preconditions.checkNotNull( indexOperationMessage, "indexOperationMessage cannot be null" );
[39/50] [abbrv] usergrid git commit: Add ShiroCache invalidation when
app is restored,
and make our Shiro session manager implement the right interface.
Posted by sn...@apache.org.
Add ShiroCache invalidation when app is restored, and make our Shiro session manager implement the right interface.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/9562ba73
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/9562ba73
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/9562ba73
Branch: refs/heads/asf-site
Commit: 9562ba73399b860b028e02207881ef41ce561b0b
Parents: d1ed645
Author: Dave Johnson <sn...@apache.org>
Authored: Fri Oct 23 16:01:40 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Fri Oct 23 16:01:40 2015 -0400
----------------------------------------------------------------------
.../security/shiro/session/HttpRequestSessionManager.java | 9 +++++++--
.../management/cassandra/ManagementServiceImpl.java | 4 +++-
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/9562ba73/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/session/HttpRequestSessionManager.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/session/HttpRequestSessionManager.java b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/session/HttpRequestSessionManager.java
index ac839d6..efcc76b 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/session/HttpRequestSessionManager.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/session/HttpRequestSessionManager.java
@@ -25,7 +25,7 @@ import org.apache.shiro.session.Session;
import org.apache.shiro.session.SessionException;
import org.apache.shiro.session.mgt.SessionContext;
import org.apache.shiro.session.mgt.SessionKey;
-import org.apache.shiro.session.mgt.SessionManager;
+import org.apache.shiro.web.session.mgt.WebSessionManager;
import org.apache.shiro.web.util.WebUtils;
@@ -34,7 +34,7 @@ import org.apache.shiro.web.util.WebUtils;
* on each request. This necessarily means that a mechanism like form-based authentication isn't viable, but the
* intention is primarily for uses in stateless apis.
*/
-public class HttpRequestSessionManager implements SessionManager {
+public class HttpRequestSessionManager implements WebSessionManager {
static final String REQUEST_ATTRIBUTE_KEY = "__SHIRO_REQUEST_SESSION";
@@ -85,4 +85,9 @@ public class HttpRequestSessionManager implements SessionManager {
protected Session createSession( HttpServletRequest request, String host ) {
return new HttpServletRequestSession( request, host );
}
+
+ @Override
+ public boolean isServletContainerSessions() {
+ return false;
+ }
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/9562ba73/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 ecf0ae2..d2fe61c 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
@@ -1728,7 +1728,9 @@ public class ManagementServiceImpl implements ManagementService {
+ ")</a> restored an application named " + appInfo.getName(), null );
}
-
+ ScopedCache scopedCache = cacheFactory.getScopedCache(
+ new CacheScope( new SimpleId( CpNamingUtils.MANAGEMENT_APPLICATION_ID, "application" )));
+ scopedCache.invalidate();
return new ApplicationInfo( applicationId, appInfo.getName() );
}
[21/50] [abbrv] usergrid git commit: Merge branch 'USERGRID-1048' of
https://git-wip-us.apache.org/repos/asf/usergrid
Posted by sn...@apache.org.
Merge branch 'USERGRID-1048' of https://git-wip-us.apache.org/repos/asf/usergrid
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/59edea1c
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/59edea1c
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/59edea1c
Branch: refs/heads/asf-site
Commit: 59edea1c2a8a2c182daad4ee7f3e42c295984b86
Parents: 5f62e4c 1fe1d1a
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 13:13:12 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 13:13:12 2015 -0600
----------------------------------------------------------------------
.../corepersistence/asyncevents/AmazonAsyncEventService.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
[25/50] [abbrv] usergrid git commit: Merge branch 'jacoco' of
https://git-wip-us.apache.org/repos/asf/usergrid
Posted by sn...@apache.org.
Merge branch 'jacoco' of https://git-wip-us.apache.org/repos/asf/usergrid
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/14499504
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/14499504
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/14499504
Branch: refs/heads/asf-site
Commit: 14499504908ab81f39cb0c87555b7fc1e016655e
Parents: 59edea1 fb69ba3
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 15:33:48 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 15:33:48 2015 -0600
----------------------------------------------------------------------
stack/Coverage.md | 21 ++++++
stack/core/pom.xml | 2 +-
stack/corepersistence/collection/pom.xml | 50 +++-----------
stack/corepersistence/common/pom.xml | 16 +++++
stack/corepersistence/graph/pom.xml | 94 ++++++++++-----------------
stack/corepersistence/map/pom.xml | 16 +++++
stack/corepersistence/model/pom.xml | 16 +++++
stack/corepersistence/pom.xml | 9 +++
stack/corepersistence/queryindex/pom.xml | 38 +++++++----
stack/corepersistence/queue/pom.xml | 16 +++++
stack/pom.xml | 88 ++++++++++++++++++++-----
stack/rest/pom.xml | 8 ++-
stack/services/pom.xml | 4 +-
stack/test-utils/pom.xml | 2 +-
stack/tools/pom.xml | 2 +-
stack/websocket/pom.xml | 2 +-
16 files changed, 247 insertions(+), 137 deletions(-)
----------------------------------------------------------------------
[05/50] [abbrv] usergrid git commit: USERGRID-1044: add region to
unlimited load test plus rename "auditRegion" to "usergridRegion" since it
can be used for non-audit purposes
Posted by sn...@apache.org.
USERGRID-1044: add region to unlimited load test
plus rename "auditRegion" to "usergridRegion" since it can be used for
non-audit purposes
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2f307a75
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2f307a75
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2f307a75
Branch: refs/heads/asf-site
Commit: 2f307a75066204a894bd68115518e29064ae56cc
Parents: 963a084
Author: Mike Dunker <md...@apigee.com>
Authored: Mon Oct 19 12:56:22 2015 -0700
Committer: Mike Dunker <md...@apigee.com>
Committed: Mon Oct 19 12:56:22 2015 -0700
----------------------------------------------------------------------
.../runAuditVerifyCollectionEntities.sh | 7 +++----
stack/loadtests/runLoadEntitiesUnlimited.sh | 4 +++-
.../usergrid/enums/ConfigProperties.scala | 6 +++---
.../org/apache/usergrid/helpers/Headers.scala | 4 ++--
.../usergrid/scenarios/AuditScenarios.scala | 10 ++++-----
.../scenarios/EntityCollectionScenarios.scala | 22 ++++++++++----------
.../org/apache/usergrid/settings/Settings.scala | 2 +-
stack/loadtests/testConfig.sh | 1 +
8 files changed, 29 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/runAuditVerifyCollectionEntities.sh
----------------------------------------------------------------------
diff --git a/stack/loadtests/runAuditVerifyCollectionEntities.sh b/stack/loadtests/runAuditVerifyCollectionEntities.sh
index fa75505..695c9ee 100755
--- a/stack/loadtests/runAuditVerifyCollectionEntities.sh
+++ b/stack/loadtests/runAuditVerifyCollectionEntities.sh
@@ -28,18 +28,17 @@ if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi
#RETRY_COUNT=
DELETE_AFTER_SUCCESSFUL_AUDIT=false
-AUDIT_REGION=
die() { echo "$@" 1>&2 ; exit 1; }
-[ "$#" -ge 3 ] || die "At least 3 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) AUDIT_UUID_FILENAME [FAILED_UUID_FILENAME [DELETE_AFTER_SUCCESSFUL_AUDIT(true/false)[AUDIT_REGION]]]"
+[ "$#" -ge 3 ] || die "At least 3 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) AUDIT_UUID_FILENAME [FAILED_UUID_FILENAME [DELETE_AFTER_SUCCESSFUL_AUDIT(true/false)[USERGRID_REGION]]]"
RAMP_USERS="$1"
RAMP_TIME="$2"
AUDIT_UUID_FILENAME="$3"
FAILED_UUID_FILENAME="$4"
[ "$#" -ge 5 ] && DELETE_AFTER_SUCCESSFUL_AUDIT="$5"
-[ "$#" -ge 6 ] && AUDIT_REGION="$6"
+[ "$#" -ge 6 ] && USERGRID_REGION="$6"
shift $#
@@ -65,6 +64,6 @@ mvn gatling:execute \
-DfailedUuidFilename=${FAILED_UUID_FILENAME} \
-DprintFailedRequests=${PRINT_FAILED_REQUESTS} \
-DdeleteAfterSuccessfulAudit=${DELETE_AFTER_SUCCESSFUL_AUDIT} \
--DauditRegion=${AUDIT_REGION} \
+-DusergridRegion=${USERGRID_REGION} \
-Dgatling.simulationClass=org.apache.usergrid.simulations.AuditSimulation
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/runLoadEntitiesUnlimited.sh
----------------------------------------------------------------------
diff --git a/stack/loadtests/runLoadEntitiesUnlimited.sh b/stack/loadtests/runLoadEntitiesUnlimited.sh
index 9222a57..11ca0a4 100755
--- a/stack/loadtests/runLoadEntitiesUnlimited.sh
+++ b/stack/loadtests/runLoadEntitiesUnlimited.sh
@@ -44,7 +44,7 @@ if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi
die() { echo "$@" 1>&2 ; exit 1; }
-[ "$#" -ge 2 ] || die "At least 2 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) [UUID_FILENAME [ENTITY_SEED [ENTITY_WORKER_NUM [ENTITY_WORKER_COUNT]]]]"
+[ "$#" -ge 2 ] || die "At least 2 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) [UUID_FILENAME [ENTITY_SEED [ENTITY_WORKER_NUM [ENTITY_WORKER_COUNT [USERGRID_REGION]]]]]"
RAMP_USERS="$1"
RAMP_TIME="$2"
@@ -52,6 +52,7 @@ RAMP_TIME="$2"
[ "$#" -ge 4 ] && ENTITY_SEED="$4"
[ "$#" -ge 5 ] && ENTITY_WORKER_NUM="$5"
[ "$#" -ge 6 ] && ENTITY_WORKER_COUNT="$6"
+[ "$#" -ge 7 ] && USERGRID_REGION="$6"
shift $#
@@ -97,5 +98,6 @@ mvn gatling:execute \
-DrampTime=${RAMP_TIME} \
-DuuidFilename=${UUID_FILENAME} \
-DprintFailedRequests=${PRINT_FAILED_REQUESTS} \
+-DusergridRegion=${USERGRID_REGION} \
-Dgatling.simulationClass=org.apache.usergrid.simulations.ConfigurableSimulation
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala
index d825bb6..f74222e 100644
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala
@@ -86,7 +86,7 @@ object ConfigProperties {
val InterleavedWorkerFeed = "interleavedWorkerFeed"
val NewCsvOnFlush = "newCsvOnFlush"
val DeleteAfterSuccessfulAudit = "deleteAfterSuccessfulAudit"
- val AuditRegion = "auditRegion";
+ val UsergridRegion = "usergridRegion";
val Values = Seq(Org,App,AdminUser,AdminPassword,BaseUrl,AuthType,TokenType,SkipSetup,CreateOrg,CreateApp,LoadEntities,
ScenarioType,RampUsers,ConstantUsersPerSec,ConstantUsersDuration,UserSeed,AppUser,AppUserPassword,NumEntities,
@@ -96,7 +96,7 @@ object ConfigProperties {
UuidFilename,AuditUuidFilename,FailedUuidFilename,SandboxCollection,PurgeUsers,RetryCount,LaterThanTimestamp,
EntityProgressCount,InjectionList,PrintFailedRequests,GetViaQuery,MultiPropertyPrefix,MultiPropertyCount,
MultiPropertySizeInK,EntityNumberProperty,QueryParams,CsvFeedPattern,UnlimitedFeed,FlushCsv,InterleavedWorkerFeed,
- NewCsvOnFlush,DeleteAfterSuccessfulAudit,AuditRegion)
+ NewCsvOnFlush,DeleteAfterSuccessfulAudit,UsergridRegion)
def isValid(str: String): Boolean = {
Values.contains(str)
@@ -170,7 +170,7 @@ object ConfigProperties {
case InterleavedWorkerFeed => false
case NewCsvOnFlush => false
case DeleteAfterSuccessfulAudit => false
- case AuditRegion => ""
+ case UsergridRegion => ""
}
} else {
null
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Headers.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Headers.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Headers.scala
index ce9a168..863a12b 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Headers.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Headers.scala
@@ -62,8 +62,8 @@ object Headers {
/**
* Optional region header
*/
- def auditRegionHeaders: Map[String, String] = {
- if (Settings.auditRegion != "") Map( "UsergridRegion" -> Settings.auditRegion )
+ def usergridRegionHeaders: Map[String, String] = {
+ if (Settings.usergridRegion != "") Map( "UsergridRegion" -> Settings.usergridRegion )
else Map()
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala
index be754f4..4743536 100644
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala
@@ -58,7 +58,7 @@ object AuditScenarios {
http("GET collections")
.get(collectionGetUrl(false))
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200),extractAuditEntities(SessionVarCollectionEntities),maybeExtractCursor(SessionVarCursor)))
.foreach("${" + SessionVarCollectionEntities + "}", "singleResult") {
exec(session => {
@@ -76,7 +76,7 @@ object AuditScenarios {
http("GET collections")
.get(collectionGetUrl(true))
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200),extractAuditEntities(SessionVarCollectionEntities),maybeExtractCursor(SessionVarCursor)))
.foreach("${" + SessionVarCollectionEntities + "}", "singleResult") {
exec(session => {
@@ -120,7 +120,7 @@ object AuditScenarios {
http("DELETE audited entity")
.delete("/${collectionName}/${uuid}")
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(extractEntityUuid(SessionVarDeletedUuid)))
.exec(session => {
val uuid = session(SessionVarDeletedUuid).as[String]
@@ -139,7 +139,7 @@ object AuditScenarios {
http("GET collection entity direct")
.get("/${collectionName}/${uuid}")
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check()
.check(status.in(Seq(200,404)),extractAuditEntities(SessionVarCollectionEntities),
extractEntityUuid(SessionVarEntityUuid),extractEntityName(SessionVarEntityName)))
@@ -193,7 +193,7 @@ object AuditScenarios {
http("GET collection entity")
.get("/${collectionName}?ql=uuid=${uuid}")
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200),jsonPath("$.count").optional.saveAs("count"),
extractAuditEntities(SessionVarCollectionEntities),
extractEntityUuid(SessionVarEntityUuid),extractEntityName(SessionVarEntityName)))
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala
index bc3cf8c..f717f16 100644
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala
@@ -73,7 +73,7 @@ object EntityCollectionScenarios {
http("GET entities")
.get(entityGetUrl(false))
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200), maybeExtractCursor(SessionVarCursor))
)
@@ -81,7 +81,7 @@ object EntityCollectionScenarios {
http("GET entities")
.get(entityGetUrl(true))
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200), maybeExtractCursor(SessionVarCursor))
)
@@ -112,7 +112,7 @@ object EntityCollectionScenarios {
http("GET entity by name (anonymous)")
.get(randomEntityNameUrl())
.headers(Headers.authAnonymous)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200))
)
@@ -120,7 +120,7 @@ object EntityCollectionScenarios {
http("GET entity by name (token)")
.get(randomEntityNameUrl())
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200))
)
@@ -157,7 +157,7 @@ object EntityCollectionScenarios {
.get("/" + Settings.collection + "/${uuid}")
.queryParamMap(Settings.queryParamMap)
.headers(Headers.authAnonymous)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200))
)
@@ -166,7 +166,7 @@ object EntityCollectionScenarios {
.get("/" + Settings.collection + "/${uuid}")
.queryParamMap(Settings.queryParamMap)
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200))
)
@@ -213,7 +213,7 @@ object EntityCollectionScenarios {
exec(http("POST load entity")
.post(_ => "/" + Settings.collection)
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.body(StringBody("""${entity}"""))
// 200 for success, 400 if already exists
.check(status.in(Seq(200)), extractEntityUuid(SessionVarUuid), extractEntityModified(SessionVarModified)))
@@ -251,7 +251,7 @@ object EntityCollectionScenarios {
http("DELETE entity")
.delete("""${entityUrl}""")
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
// 200 for success, 404 if doesn't exist
.check(status.in(Seq(200)))
)
@@ -279,7 +279,7 @@ object EntityCollectionScenarios {
http("UPDATE entity")
.put("""${entityUrl}""")
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.body(StringBody(Settings.updateBody))
// 200 for success, 404 if doesn't exist
.check(status.in(Seq(200)))
@@ -308,7 +308,7 @@ object EntityCollectionScenarios {
.get("/" + Settings.collection + "/${entityName}")
.queryParamMap(Settings.queryParamMap)
.headers(Headers.authAnonymous)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200), extractEntityUuid(SessionVarUuid), extractEntityModified(SessionVarModified)))
.exec(session => {
val uuid = session(SessionVarUuid).as[String]
@@ -327,7 +327,7 @@ object EntityCollectionScenarios {
.get("/" + Settings.collection + "/${entityName}")
.queryParamMap(Settings.queryParamMap)
.headers(Headers.authToken)
- .headers(Headers.auditRegionHeaders)
+ .headers(Headers.usergridRegionHeaders)
.check(status.is(200), extractEntityUuid(SessionVarUuid), extractEntityModified(SessionVarModified)))
.exec(session => {
val uuid = session(SessionVarUuid).as[String]
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
index b9ba86d..2ecc3e3 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
@@ -187,7 +187,7 @@ object Settings {
val interleavedWorkerFeed:Boolean = if (unlimitedFeed) true else initBoolSetting(ConfigProperties.InterleavedWorkerFeed)
val newCsvOnFlush:Boolean = initBoolSetting(ConfigProperties.NewCsvOnFlush)
val deleteAfterSuccessfulAudit:Boolean = initBoolSetting(ConfigProperties.DeleteAfterSuccessfulAudit)
- val auditRegion = initStrSetting(ConfigProperties.AuditRegion)
+ val usergridRegion = initStrSetting(ConfigProperties.UsergridRegion)
val multiPropertyPrefix = initStrSetting(ConfigProperties.MultiPropertyPrefix)
val multiPropertyCount:Int = initIntSetting(ConfigProperties.MultiPropertyCount)
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/testConfig.sh
----------------------------------------------------------------------
diff --git a/stack/loadtests/testConfig.sh b/stack/loadtests/testConfig.sh
index 466d8c9..59f64e1 100755
--- a/stack/loadtests/testConfig.sh
+++ b/stack/loadtests/testConfig.sh
@@ -64,3 +64,4 @@ GET_VIA_QUERY=false
QUERY_PARAMS=
FLUSH_CSV=10000
+USERGRID_REGION=
[26/50] [abbrv] usergrid git commit: fix rat check
Posted by sn...@apache.org.
fix rat check
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c71133f6
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c71133f6
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c71133f6
Branch: refs/heads/asf-site
Commit: c71133f6d4797f5f1d5576082aa40ba009e763f1
Parents: 1449950
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 15:59:16 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 15:59:16 2015 -0600
----------------------------------------------------------------------
stack/pom.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/c71133f6/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 2236e22..344502c 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1568,7 +1568,8 @@
</executions>
<configuration>
<excludes>
-
+ <exclude>**/Coverage.md</exclude>
+ <exclude>**/jacoco/**</exclude>
<exclude>**/README.md</exclude>
<exclude>**/CHANGES.txt</exclude>
<exclude>**/*.json</exclude>
[47/50] [abbrv] usergrid git commit: Update 2 install docs to point
to 2.1 and to include the correct /system API calls needed to init storage
and indexing.
Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/9d3cf5b8/docs/installation/ug2-deploy-to-tomcat.md
----------------------------------------------------------------------
diff --git a/docs/installation/ug2-deploy-to-tomcat.md b/docs/installation/ug2-deploy-to-tomcat.md
index a07f13a..049b909 100644
--- a/docs/installation/ug2-deploy-to-tomcat.md
+++ b/docs/installation/ug2-deploy-to-tomcat.md
@@ -2,6 +2,7 @@
__NOTE__: Beware that Usergrid 2 is UNRELEASED SOFTWARE
+
## Requirements
* [JDK 1.8](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
@@ -9,44 +10,56 @@ __NOTE__: Beware that Usergrid 2 is UNRELEASED SOFTWARE
* [Tomcat 7+](https://tomcat.apache.org/download-70.cgi)
* [Cassandra 1.2.1*](http://cassandra.apache.org/download/)
* [ElasticSearch 1.4+](https://www.elastic.co/downloads/elasticsearch)
-* [Usergrid 2.0](https://github.com/apache/usergrid/tree/two-dot-o)
-
-##Running
+* [Usergrid 2.1](https://github.com/apache/usergrid/tree/2.1-release)
+## Running
1. Start up Cassandra [^1]
a. To do this you can navigate to the cassandra folder and run ```./bin/cassandra ```
2. Start up Elasticsearch
a. To do this you can navigate to the folder where you extracted elasticsearch and run ```/bin/elasticsearch```
-###Running Usergrid
+### Running Usergrid
-####Build The Java Sdk
+#### Build The Java SDK
1. Navigate to where you cloned the usergrid repo
2. Navigate to the ```sdks/java``` directory
3. Run ```mvn clean install```
-####Build The Stack Itself
+#### Build The Stack Itself
1. Navigate to the ```stack``` directory.
2. Run ```mvn clean install -DskipTests```
3. This will generate a war at ```rest/target/ROOT.war```
-####Deploying the Stack Locally
+#### Deploying the Stack Locally
+
1. Take this war and deploy it on downloaded tomcat.
1. In the lib directory of the tomcat you must also put usergrid-deployment.properties. ( An example file is provided below)
1. Start up Tomcat
a. To do this you can navigate to folder where Tomcat is install and run ```./bin/catalina.sh start```
-1. Go to a web browser and input the following to initilizing the database ```localhost:8080/system/database/setup```.
- a. The credentials it asks for are the admin credentialls and password as defined in the usergrid-deployment.properties.
- b. You can also do a curl call with basic auth to automatically authenticate the call instead of using the web browser.
-1. Then using the same steps as before call ```localhost:8080/system/superuser/setup```
+
+Next, you need to make some API calls to initialize Usergrid's storage and indexing systems. You can make these
+API calls using curl or your favorite HTTP client. These calls can only be done with the superuser credentials
+that appear in your __usergrid-deployment.properties__ file. Here's how to do the calls with curl (and assuming
+your superuser password is 'test'):
+
+ curl -X PUT http://localhost:8080/system/database/setup -u superuser:test
+ curl -X PUT http://localhost:8080/system/database/bootstrap -u superuser:test
+ curl -X GET http://localhost:8080/system/superuser/setup -u superuser:test
-The stack is now ready to be queried against, but to get the most out of it you'll need to initilize and use our portal!
+Once those three calls execute without error, then you are done. If you do see errors the double-check that you
+have Cassandra and ElasticSearch running and that your properties files lists your Cassandra and ElasticSearch
+hostnames correctly. Also check that ElasticSearch cluster name (in elasticsearch.yml) matches the one in the
+Usergrid properties file. If the problem persists come talk to us on the Usergrid mailing list, we might be able to help.
+
+The stack is now ready to be queried against, but to get the most out of it you'll need to initialize and use our portal!
+
+#### Running The Portal Locally
+
+##### Requirments
-####Running The Portal Locally
-#####Requirments
[nodejs 0.10+](https://nodejs.org/download/)
1. Make sure you've installed node.js above. Any version above .10 or .10 should work fine.
@@ -58,7 +71,6 @@ The stack is now ready to be queried against, but to get the most out of it you'
Now usergrid is fully ready to use! Feel free to query against it or use it however you like!
-
Example __usergrid-deployment.properties__ file
---
```
[48/50] [abbrv] usergrid git commit: Update 2 install docs to point
to 2.1 and to include the correct /system API calls needed to init storage
and indexing.
Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/9d3cf5b8/content/docs/searchindex.js
----------------------------------------------------------------------
diff --git a/content/docs/searchindex.js b/content/docs/searchindex.js
index e6e2a98..ff9120c 100644
--- a/content/docs/searchindex.js
+++ b/content/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:46,filenames:["README","assets-and-files/file-storage-configuration","assets-and-files/folders","assets-and-files/legacy-asset-support","assets-and-files/retrieving-assets","assets-and-files/uploading-assets","counters-and-events/creating-and-incrementing-counters","counters-and-events/events-and-counters","counters-and-events/retrieving-counters","data-queries/advanced-query-usage","data-queries/operators-and-types","data-queries/query-parameters","data-queries/querying-your-data","data-storage/collections","data-storage/data-store-dbms","data-storage/entities","data-storage/optimizing-access","entity-connections/connecting-entities","entity-connections/disconnecting-entities","entity-connections/retrieving-entities","geolocation/geolocation","getting-started/creating-a-new-application","getting-started/creating-account","getting-started/using-a-sandbox-app","getting-started/using-the-api","index","installation/ug1-deploy-to-tomcat","installation/ug1-lau
ncher-quick-start","installation/ug2-deploy-to-tomcat","introduction/async-vs-sync","introduction/data-model","introduction/overview","introduction/usergrid-features","jersey2skeleton/README","orgs-and-apps/admin-user","orgs-and-apps/application","orgs-and-apps/managing","orgs-and-apps/organization","push-notifications/adding-push-support","push-notifications/creating-and-managing-notifications","push-notifications/creating-notifiers","push-notifications/getting-started","push-notifications/managing-users-and-devices","push-notifications/overview","push-notifications/registering","push-notifications/tbd","push-notifications/troubleshooting","push-notifications/tutorial","push-notifications/users-devices","reference/contribute-code","reference/presos-and-videos","rest-endpoints/api-docs","sdks/ios-new","sdks/sdk-outline","sdks/tbd","security-and-auth/app-security","security-and-auth/authenticating-api-requests","security-and-auth/authenticating-users-and-application-clients","securit
y-and-auth/changing-token-time-live-ttl","security-and-auth/facebook-sign","security-and-auth/revoking-tokens-logout","security-and-auth/securing-your-app","security-and-auth/user-authentication-types","security-and-auth/using-permissions","security-and-auth/using-roles","user-management/activity","user-management/group","user-management/groups","user-management/messagee-example","user-management/user-connections","user-management/user-management","user-management/working-user-data"],objects:{},objnames:{},objtypes:{},terms:{"005056c00008":71,"00767101f6b4f2cf5d02ed510dbcf0b4":66,"02e81ac5a17b":[2,10],"02e81adcf3d0":[5,6,8,13,15,18,19,24,52,63,64,65,66],"02e81ae236e9":66,"02e81ae61238":66,"02e81ae640dc":[2,65],"02e81ae66238":66,"02e81aeb2129":66,"02e81aeb26e9":66,"02e9sjwsf3d0":[15,52],"03ae956a":20,"0455fc92de2636fc7a176cc5d298bb78":66,"08fe":52,"0abe":[13,52],"0d7cf92a":[15,52],"0d7e":37,"0d7f":37,"0f1ff3650d20":[17,66,71],"10e":10,"10e10":10,"11apigeeapsdestination11":39,"11e0":[
8,71],"11e1":[2,24,30,34,37,65,66,71],"11e2":[2,5,6,8,10,12,13,15,18,19,24,37,52,63,64,65,66],"11e3":[5,13,15,17,18,19,20,24,52,58,64,66,71],"1231380a0284":65,"12313b01d5c1":[2,24,30,65],"12313b06ae01":65,"12313b06d112":65,"12313b111c56":37,"12313b122c56":[34,37],"12313d027361":37,"12313d027471":37,"12313d14bde7":66,"12313d1520f1":65,"12313d1c4491":[2,34,37,65],"12313d1c44914":65,"12313d1c5591":37,"12313d288ee0":37,"12313d288ff0":37,"12313d331ae8":65,"12313f0204b":71,"12313f0204bb":[8,71],"12313f0204bb8":71,"12331b144c65":34,"12331d1c5591":[34,37],"12424d1c4491":34,"174785aa":17,"19a0":[15,52],"1a62":[13,52],"1a9356ba":[13,15,52],"1bd100b8059e":[13,52],"1c8f60e4":71,"1f3567aa":65,"1px":50,"1st":51,"20adr":71,"20c57d4f41cf51f2db44165eb058b3b2":12,"20employe":66,"20or":15,"20titl":66,"20uuid":15,"20where":[66,71],"22000a1c4e22":66,"22000a1c5a67":[66,71],"2440ca58":65,"2482a1c5":65,"249f":20,"2ac6":2,"2ac8":2,"2d00":65,"2d21":2,"2e1db7299b0a667ed80e674a0ef9d653":5,"2nd":51,"31847b9a":[
13,52],"3192ac6a":[13,52],"327b527f":[34,37],"328b526e":34,"328fe64a":[15,52],"335b527f":[34,37],"33dd0563":[34,37],"3400ba10":[2,37,65],"348388de":64,"34e26bc9":65,"3500ba10":37,"37f3":65,"382d0991":64,"38dc":15,"3bee":42,"3c1e":64,"3d1a9356ba":15,"410b213a":[5,64],"411c466c4f2c":12,"417f":[17,66,71],"4353136f":71,"438a1ca1":8,"477d":66,"48c92c73":37,"496ca1d42ce7":[13,52],"49ff":65,"4a1edb70":[15,52],"4d2664c8e0c3":66,"4f511f12a386":42,"5005a0fa":66,"503f17da":24,"50gb":1,"5111c463":65,"5373d7165c2d":58,"53fe3700":[13,52],"563f5d96":65,"58606d0a":[18,19],"58e8":[66,71],"5ae1fa7a":[13,52],"5bb76bca":[13,15,52],"5bcc47ca":[18,19],"5bd5fa5f701f":52,"5c0c1789":[2,30],"5de0bb69":37,"5f4a65c16193":[15,52],"5wugd":57,"61c9":65,"62de5d97":24,"62fd53c78ce7":63,"65c8":37,"6640a601":2,"6715d5ef47a6":[15,52],"67cb":66,"698b":66,"699740088e05":6,"6a42":65,"6b07e44495ef":64,"6be0003c809b":[13,52],"6c56ffda":17,"6fbc8157":66,"6ldstnesaaaaakhdvglhmmu86_eoyxsjjqqd1ipz":[34,71],"74bb":64,"74d2d7da"
:66,"78c54a82":71,"7a0a1cba":42,"7bf47435":2,"7fb8d891":66,"802f":66,"81581bbaf055":[13,15,52],"8272c9b0":12,"83ceb9965c26":66,"83de":66,"83e9b7ea":[15,52],"84a5":71,"84c0":65,"84df":[15,52],"87b9":37,"884d":71,"89ab":[13,52],"8a2a":[15,52],"8a4c":63,"8ae3":42,"8ae8a6ea":71,"8bde":[18,19],"8cef":12,"8d05e96f700d":[13,52],"8d5c":24,"8dd1801e534c":17,"8e0cd3866ee20746c99e9a9825f38ad8":2,"8ea8":17,"903f":[13,15,52],"90f823ba15655b8cc8e3b4d63377576f":66,"917d":[15,52],"924d":10,"92c3":2,"92e2":12,"9501cda1":2,"95c8":[34,37],"96f6":65,"98b9":37,"9953085ea376":[5,64],"999e12039f87":52,"99a7":58,"99fd":17,"9a18":42,"9c1b":66,"9ce3":[15,52],"9d3a":6,"9de5":64,"9e75":17,"9e92":[15,52],"9efc8ad529d8":64,"9f80":20,"9ff6c621a7a4":[13,15,52],"9ffc":65,"____usergrid":26,"__weak":39,"boolean":[10,37,48,51],"byte":39,"case":[9,16,26,29,38,41,46,48,51,52,65,67,69],"catch":52,"class":[1,28,34,39,42,57,60,71],"default":[1,10,11,12,13,14,15,20,24,25,26,28],"export":[44,47,52],"final":[42,44],"float":10
,"function":[6,29,32,42,59,62,65,66,67,68,70],"import":[23,24,29,30,32,38,41,42,47,55],"long":[10,30,39,48,67],"new":[6,9,13,15,16],"null":[6,42,59],"public":[34,42,44,71],"return":[10,11,12,13,16,19,20,24,27,29,34,37,42,44,48,51,57,58,59,60,63,65,66],"short":[22,65],"static":[26,42],"super":25,"throw":[38,46],"transient":28,"true":[10,12,18,19,24,26,27,28,34,37,39,42,51,59,64,66,71],"try":[22,23,27,34,38,39,46,52,55,59,63],"typeof":59,"var":[9,34,42,59],"void":[39,42],"while":[23,26,29,30,32,38,41,42,43,46,48,63,64],a065:65,a0dd:24,a0e5:[5,64],a0f7:65,a166:[5,6,8,13,15,18,19,24,52,63,64,66],a24f:[13,52],a407b1e7:[66,71],a51b:[15,52],a554b7fbd57a:24,a5c5:64,a668717b:66,a694:[18,19],a6e3:66,a71c:63,a72a:[13,15,52],a7e008061e10:[18,19],a7f7:[5,6,8,13,15,18,19,24,52,63,64,66],a9c1:52,abbrevi:[12,16,24,44],abil:[20,22,32,69,70],abl:[16,24,26,38,39,41,47,61,62,65,70,71],about:[0,10,16,22,23,24,25,26,32,34,36,37,38,39,41,42,43],abov:[5,6,19,26,27,28,38,41,42,47,64,65],ac46:[66,71],accept:
[4,40,42,57,63],access:[2,13,14,15,16,19,21,22,23],access_token:[27,51,56,57,58,59],accessid:1,accesstokenrespons:25,accesstokenttl:58,accomplish:[39,60],accord:57,account:[12,15,16],achiev:69,acquaint:65,acquir:25,across:[8,16,39],act:[12,65,68],action:[2,5,6,7,8,12,13,14,15,16,17,18,19,24,25,26,32,34,35,37,38,39,47],activ:[5,10,12,18,19,20,22,24,25,26,28,30],activit:34,activityfe:25,actor:[34,37,51,65],actual:[16,38,41,47],add:[1,9,14,15,16,21,22,23,25],addit:[8,16,22,25,32,34,44],addobject:52,address:[12,24,26,34,37,38,41,44,48,51,57,71],addrol:25,adjust:[11,64],admin:[21,22,23,25,26,27,28],admin_password:57,admin_usernam:57,admin_users_require_activ:[26,28],admin_users_require_confirm:[26,28],admingmail:34,administr:[26,27,30,32,35,37,48,57,61,62,64],adminus:[34,37,51],adomain:71,adopt:[32,49],advantag:32,advertis:20,advis:61,ae1f:17,aec3:65,afad:65,affect:58,after:[6,10,24,27,29,38,39,41,42,47,57,59,61,64,68],again:[26,34,38,46],against:[18,28,35,56,57,61,63],aggreg:8,air:14,ai
zasyckxotbq7a9gojsslqzlod_yjefxxxxxxx:40,alert:[20,29,39,42,66,67],alerttext:39,alia:[64,71],all:[0,6,8],alloc:[39,42,52],allow:[7,12,20,24,26,28,30,32,37,39,42,44,47,48,59,62,63,64,65,66,67,69,70,71],almost:70,alon:[38,41],along:[11,16,38,42,46],alreadi:[15,16,22,26,38,39,40,42,48,51,52,59,61,68],also:[1,2,6,7,8,11,13,15,16,21,27,28,30,32,34,35,37,38,39,40,41,42,47,48,51,57,59,60,61,63,65,66,67,68,69,71],alter:64,altern:[12,13,66,67],although:[13,15,34,39,65,66,71],alwai:[30,39],amazon:1,amazonaw:26,amount:[11,62,65],amuramoto:[5,15,52,58],analysi:32,analyt:22,analyz:[32,56,57,61,62],android:[24,25,29,31],androiddev:40,androidmanifest:47,anew:[38,46],ani:[5,6,8,10,12,14,15,16,20,28,29,30,32,34,36,39,42,47,51,55,56,57,58,61,62,63,64,65,66,68,69,70,71],annot:33,announc:43,anonym:[48,65,71],anoth:[12,16,23,38,39,41,46,47,56,65,68,69,71],answer:71,ant:63,anuff:50,anyon:[62,65],anyth:26,anytim:65,anywher:11,apachecon:50,apidocgener:0,apige:[24,38,39,42,43,44,47,50,52,66],apigeeapsdestin
:39,apigeeapspayload:39,apigeecli:[42,52],apigeeclientrespons:[39,42,52],apigeecollect:52,apigeedatacli:39,apigeedataclientcompletionhandl:39,apigeemobileconfig:58,apikei:[40,59],apirequest:52,apirespons:42,apiresponsecallback:42,apn:25,app1:51,app2:51,app:[2,4,5,6,7,8,12,13,14,15,16,17,18,19],app_id:[15,51,65,66,71],app_nam:[35,58,60],app_uuid:[14,16],appdata:25,appdeleg:[39,42,47,52],appear:[19,40,44,51,65,68,69],append:[8,9,13,16,20,39,56,59],appid:[51,59],appl:[25,32],appledev:47,applenotifi:40,appleopt:42,appli:[24,28,58,61,63,64,69,70,71],applic:[2,4,5,6,7,8,12,13,14,15,16,17,18,19,20],application_client_secret:57,application_clientid:57,application_info:37,applicationdata:51,applicationdidbecomeact:42,applicationid:[34,37,42,51],applicationnam:[2,5,6,8,12,13,14,15,16,17,18,19,24,51,52,58,63,64,65,66,71],appnam:[9,42,47,57,59],appropri:[30,39,40,42,48,59],approv:[26,28],appservic:42,aps_develop:44,apspayload:39,arbitrari:[24,69],architectur:[14,26],area:[22,23,34,39,44,55,71],
aren:[14,16],arg:[1,35,37,65,66],argument:[1,42],arm:61,around:[0,16],arrai:[10,12,14,15,16,19,24,51,52],arthur:[17,18,19,69,70],articl:[12,13,15,56,64],asc:11,ascend:11,ask:[12,28,47],aspect:[7,32],asset1:2,asset:1,assets_id:2,assign:[6,25,30,32,48],assist:44,associ:[5,10,13,19,20,21,24,30,32,37,38,39,40,41,42,44,47,48,51,52,55,57,58,60,62,64,66,68,70,71],assum:[16,42,47,56],async:25,asynchron:25,atistophan:34,atom:15,atop:47,attach:[4,5],attack:[55,61],attempt:[37,51,56],attribut:14,audienc:31,audio:[5,32],auth:[26,28,40,44,48,59],authent:[13,15,23],author:[27,36,40,42,44,56,58,59,65,70],author_uuid:16,authorid:[14,16],authorimag:16,authornam:16,authoruuid:16,authrespons:59,auto:[26,28],automat:[5,6,13,15,21,22,28,30,32,33,51,57,59,60,63,64,65,69],avail:[13,15,20,22,24,27,32,38,40,42,52,57,68,70],avatar:[12,24,65,66,71],avoid:[16,68],awai:16,awar:[10,20],awssdks3binarystor:1,b0c6:66,b11217fc:6,b1f7:[13,52],b24e:6,b2bd:66,b2e4:15,b31d:58,b36a:[2,30],b379:[5,64],b3aad0a4:52,b3u68vgh
i6fmeekn9wlogtzz0a:35,b3u6aaabmqz:57,b3u6zuz5_u8i:35,b4c6:2,b690:66,b6dd:65,b77ec8addc0d:66,b90c:66,b93d:71,baa:[34,37,39,40,44,55],back:[14,16,27,31,32,42,49,68],backend:[12,25,30,39],backslash:39,bad:[37,57,62],badg:[39,42],banner:7,bar1234b:71,bar:[24,31],barnei:[66,69],base:[0,13,20],baseurl:42,batch:11,baz:24,bcc1:8,bcf7:[2,34,37,65],bcf8:[34,37],bd397ea1:63,be04:[13,52],be08a5f9:37,be09a5f9:37,bean:1,bearer:[27,40,56],beca:37,becaus:[14,20,23,26,38,46,51,57,61,62,65,68],becom:[11,12,20,26,32,44,65,66,67],been:[6,16,38,39,42,46,47,51,56,59,60,61,65],bef8:[34,37],befor:[0,1,22,23,25,28,29,38,39,41,42,44,46],begin:[8,11,25,36],behalf:57,behav:68,behavior:32,behind:[22,48,59],belong:[27,30,39,48,65,67],below:[13,14,15,16,26,28,34,38,39,41,47,52,53,59,65,66,68,71],beneath:68,benefici:29,benefit:[14,26],besid:64,best:[11,12],better:[16,57,62],bewar:28,beyond:65,bike:10,bin:28,binari:[32,56,57,61,62],binarystor:1,bit:14,blank:[44,64],block:29,blog:64,blue:42,board:68,boat:10,boavijt0
oyrkjf:35,bodi:[6,16,34,35,37,39,51,58,65,66,71],book:[11,32,52],bool:42,border:50,both:[6,14,17,28,29,30,39,42,49,51,62,70],bounc:16,bouncer:16,bounci:[14,16],box:[21,23,39,47,64,68,70],bracket:15,bread:[13,15,52],brief:[29,59],broad:[56,57,62],brows:31,browser:[26,28,34,38,41,59],bucketnam:1,bug:31,buildcurl:59,built:[16,24,26,47,65],bundl:[42,47],busi:20,button:[7,21,23,34,38,41,44,46,47,64,68,71],button_click:[6,8],c2v7n61dy90mcdg78xixprxfdq:37,c2v7wedxiutzwekwdyslct_lydfvmmn:37,c5e707256e71:[15,52],california:[34,66,67],call:8,callback:[29,42,59],campaign:32,can:[0,1,2,4,5,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,26,27,28,29,30,32,34,35,36,37,38,39,40,41,42],cancel:25,cannot:[13,15,24,29,30,33,62],capabl:61,captcha:[34,51,71],captur:[12,16,20,32],car:10,care:[41,43,44],carefulli:62,carri:[36,40,47],cassandra:[14,16,25],cast:50,castl:[14,16],cat:27,catalina:28,catalog:32,categori:[14,34,37,51],caus:[0,15,51],caution:58,cautiou:[56,57,62],ccc:50,cd0c:[2,34,37,65],cd0d:[34,
37],cd789b00:66,cd796d0a:66,cdf1ce04c1c0:12,cdn:32,cede5b7:37,cede5b8:37,cell:0,center:[20,38,41,47],central:[0,1],cer:44,certain:[15,16,30,39,60,70],certif:[25,38,40,41],certsigningrequest:44,cf3e981c:34,cf4d981c:[34,37],cf9b:8,cfed:[18,19],chain:6,challeng:[24,34,51,71],chang:[0,1,25,26,28,30,47,51,56],channel:59,channelurl:59,charact:[11,65,71],characterist:[41,42],charset:[34,71],check:[23,26,27,42,47,59,62,63,64,65],checkbox:64,checksum:[2,5],chicago:71,choic:47,choos:[16,39,40,44],chose:47,circl:[32,65],circumst:60,cite:15,citi:[11,34,71],clara:50,classpath:1,clean:[0,26,27,28,34],cli:26,click:[7,16,21,23,36,38,39,40,41,44,46,47,64,68],client:[9,11,13,14,15,16,24,25,26,29,32,34,35,36],client_credenti:[35,51,57],client_id:[35,37,51,56,57,59],client_secret:[35,37,51,56,57],climb:16,clone:[0,26,28],close:47,closer:16,cloud:[1,4,5,32,38,41,44,47],clue:26,cluster:26,cluster_nam:28,cn0wtdxxkxmqlgzvtmubcp20fulczq:57,code:[1,11,16,24,25,26,27,29,31,32,33,38,39,41,42,43,44,46,47],codes
ign:47,coffe:14,colleagu:65,colleciton:52,collect:[4,5,12],collection_nam:13,collectionid:51,color:42,column:[14,16],com:[2,4,5,6,8,12,13,14,15,16,17,18,19,20,24,26,27,28,30,34,35,37,39,40,42,44,47,48,52,57,58,59,60,63,64,65,66,68,69,70,71],combin:[16,33,38,39,41,61,71],come:[23,25,26,28],comma:[12,39,52,59,63],comma_separated_list_of_permission_nam:59,command:[0,22,26,27,28,47,59,66],comment:[32,42,65],commit:0,committ:49,common:[12,61,65,71],commonli:64,commun:[41,43,68],compani:[36,37,68],compar:[12,41],comparison:64,compil:[47,56,57,61,62],complet:[12,25,26,29,30,32],completedsuccessfulli:[39,42],completemsg:51,completionhandl:39,complex:[15,16,25,32],compliant:32,complic:26,compon:[30,32],compromis:56,concept:[14,22],config:28,confim:51,confirm:[26,28,34,37,38,46,51,68],confirm_email:[34,37,51],conflict:68,conform:10,conjunct:[32,70],connect:[0,2,5,12,16],connected_collect:[17,18],connected_ent:[17,18],connecteeid:42,connectent:42,connectentitiesasync:42,connecting_collect:[17,
18],connecting_ent:[17,18],connectorid:42,consid:[38,46,57,61,64],consider:[56,57,62],consol:25,constrain:14,constructor:1,consult:22,consum:[32,65],contact:44,contain:10,containslook:11,containswil:11,content_typ:4,context:[1,32,42],contextu:32,continu:[11,29,44,68],contrast:[16,69],contribut:[25,31],contributor:[31,49],control:[32,41,44,58,61,64,71],conveni:[9,56,66,68],convent:30,cooki:59,coordin:39,copi:[0,16,26,44,68],core:[27,28,32,47],cores:28,correct:[33,38,46,48,59,68],correl:[38,41,42,46],correspond:[12,13,15,24,30,42,44,47,51,52],cost:32,costli:16,could:[2,11,16,29,41,42,56,57,61,62,66,67,69,70],couldn:42,count:[7,8,12,13,14,15,51,52,65],counter_nam:[6,8],coupl:[31,41],cpu:41,creat:[2,5],createact:25,createadminus:25,createcollect:52,createent:[25,29],createev:25,creategroup:25,createnotif:25,createorg:25,createus:25,creation:[48,51,58,67],credenti:[25,26,28],credential:28,criteria:32,cross:65,css:[34,47,71],cumul:6,curiou:22,curl:[4,5,6,8,9,11,12,13,15,17,18,19,20,27,28,
34,35,37],current:[6,13,20,30,31,33,38,42,51,63,65,71],custom:[9,13],custom_id:9,custompayload:39,d0d7d0ba:12,d16344f5a0e1:20,d20976ff:66,d28c:24,d503:[2,30],d7a8:[15,52],d86a:12,d878de4r:58,d87edec7:65,d9693ec3:65,da448955:65,da4a50dc:15,da67:71,da71:71,da83:65,dai:[7,8,58],daili:8,dashboard:[38,59],data:1,databas:[11,14,16,20,25],datacli:[9,39,42,52,57,60],date:[10,39],dave:50,david:50,db1e60a0:[17,66,71],dbf5228024a7:[18,19],dbm:[11,12,14,16],dc5d478e9c029853fbd025bed0dc51f8:24,debug:[38,41,42,47],decim:10,declar:42,decompil:61,dedic:6,defin:[7,14,15,23,28,30,42,52,55,57,58,63,64,65,66,70,71],definit:[51,63],deflat:40,degre:[39,58],deleat:51,deleg:52,delet:[11,12],deletecollect:52,deleteent:52,delimit:[10,63,67],deliv:[32,39,44,47,51],deliveri:[32,39,51],denot:[66,69],depend:[24,40,42,43,66,67],deploi:25,deploy:25,desc:11,descend:11,describ:[11,12,13,15,16,20,24,36,40,42,44,47,48,55,56,57,59,64,66,68],descript:[4,5,6,8,11,13,14,15,17,18,19,25,30,34,35,36,37,39,44,48,51,52,57,62,6
3,64,65],design:[14,16,20,26,32,33,47,65,66,67,68,70],desir:44,desktop:[40,44],destin:[1,39],destinationsingledevic:39,destroi:60,detail:[13,15,22,30,32,34,35,36,37,38,39,40,41,51,57,59,64,65,66,69,71],detect:[5,20],determin:[20,33,65,71],dev:[28,38,40,41],develop:[10,20,23,30,31,32,38,39,40,41,44,47,61,68,70],devic:[5,18,19,20,21,24,25,30,32,38],device_id:39,deviceid:[39,42,51],deviceregistrationcallback:42,devicetoken:42,deviceuuid:42,dfr4d5m1mjmoeeogvpncm:58,diagram:[38,41],dialog:[21,23,34,44,47],did:15,didfailtoregisterforremotenotificationswitherror:42,didfinishlaunchingwithopt:42,didregisterforremotenotificationswithdevicetoken:42,differenti:32,dimens:70,diner:11,dino:[24,69],dir:0,direct:[0,16],directli:[0,35,44],directori:[0,26,27,28,47,49,59,68],disabl:[23,26,34,37,48,51],disk:44,displai:[8,11,20,47,48,51,59,64,65,67,68],displayemail:51,displayemailaddress:[34,37],displaymessag:42,displaynam:[34,37,51,65],distanc:20,distance_in_met:20,distinctli:31,distribut:[14,16,61],div
:[34,71],dk88fh4r:19,doctyp:[34,71],doe:[0,15,24,30,38,46,48,51,52,56,57,58,59,65,66,71],doesn:[14,16,23,38,42,46,47],dog:[15,24,29,66,67,69],dogcreatecallback:29,doge:[66,67],domain:[44,59],don:[26,38,41,43,47,61,65,71],done:[0,26,32,40,42,44,51,59,61,62,71],dot:[6,10],doubl:[39,44],down:[10,21,31,39,42,44,64],download:25,drive:[1,32],drop:[21,39,44,64],dropdown:21,dskiptest:[26,27,28],dtd:[34,71],due:[11,12,16,57],duplic:16,durat:[2,5,6,8,12,13,14,15,16,17,18,19,24,26,34,35,37,51,52,58,60,63,64,65,66,71],dure:[61,64],duti:64,e13743a7f1db7f4246badd6fd6ff54ff:71,e694:66,e7127751:66,e7d0:65,e8f5:[15,52],e94123890c7a:[15,52],e978:71,e97b:12,each:[0,6,7,8,10,12,13,14,15,16,20,23,24,30,34,38,39,41,44,48,51,52,53,59,62,64,65,66,71],earlier:[38,40,41,47],eas:32,easi:[0,32,70],easier:[9,11,12,16,23,24,38,61,66,69],easiest:64,easili:[6,20,30,32,61,70],east:26,easy_instal:0,eb20e5bce407:17,ebc6f49d1fc4:[15,52],ec39:24,edit:[0,1,25,26,44],edort1:34,ee912c4b:10,ef0b:[15,52],effb:[15,52],effect
:32,effici:[12,16],either:[1,13,17,51,56,59,64],elasticsearch:28,elev:61,elimin:[32,56,61],els:[29,42,59],email:[12,24,26,27,28,30,34,37,41,44,48,51,57,65,66,68,71],email_address:[24,71],embed:28,embed_cod:50,employe:66,empti:[13,52,68],emul:[38,41],enabl:[20,26,32,38,41,42,43,44,47,48,59,61,64,65],enabledremotenotificationtyp:42,enabledtyp:42,enclos:[12,51],encod:[9,11,12,15,40],end:[8,32,33,52],end_tim:8,endpoint:[0,6,18,25,35,38],engag:[20,32],engin:31,enhanc:20,enough:[23,47],ensur:[10,16,24,32,38,39,41,44,47,55,57,61],enter:[21,23,34,39,40,44,47,59,64,68,71],entir:[11,39,51],entit:16,entiti:[0,2],entity_nam:15,entity_typ:[15,52],entity_uuid:15,entityid1:51,entityid2:51,entityid:[51,52,64],entityproperti:51,entitytyp:[34,37,51,64],entri:[11,39,59],environ:[22,40,47,61],equal:[10,12,42,58],equiv:[34,71],err:[29,42,59],error:[6,25,29,37],errorcod:51,errormessag:51,escap:[39,52],essenti:[47,70],establish:[51,65,70],etag:[2,5],etc:[31,48],evalu:26,even:[8,11,16,26,30,41,56,57,61,62,
69],event:6,everi:[8,9,24,30,56,61,62,64,66,67],everyth:[0,24],exact:[20,70],exactli:11,examin:[8,61],exampl:[0,1],except:[15,38,42,46,56,61],exchang:44,execut:[9,11,12,29],exhaust:61,exist:[5,6,15,16,20,26,37,42,48,51,52,58,59,65,66],expect:[10,20,34,37,43,52,70],experi:[14,20,32,70],experiment:[23,55],expir:25,expires_in:[51,57],explain:[0,26],explan:29,explicit:44,explicitli:[42,56,60,64],expos:27,express:11,extend:69,extens:68,extern:49,extract:[26,27,28,56,57,59,62],f18e8f6fb3bc:71,f315e5aa568a:[15,52],f322:52,f34f4222:[5,6,8,13,15,24,52,63,64,66],f399:65,f3a8061a:[15,52],f3aa:65,f3be262a:[15,52],f3teeg:35,f42752aa:52,f8zemolceecubwbqvsaaca:57,f_gubelxeecfrgbqvsaaca:57,facebook:[24,25,32],facebookaccesstoken:59,facebooktoken:59,factor:26,fail:[38,39,42],failur:[14,51],fals:[10,26,28,34,37,51],famili:[14,20],familiar:[16,22],faq:26,far:21,fast:14,favorit:[41,42,71],favoritecolor:42,fb_access_token:[48,59],fbasynchinit:59,fbasyncinit:59,fc4d:65,fdd3:37,fe80:34,fe90:[34,37],featur
:[16,20,22,24,25],feed:[5,12,18,19,24,25,32],feel:28,few:[11,20,38,43,68,70],ffd79647:65,field:[1,11,15,32,34,39,40,44,51,64],fieldset:[34,71],file_loc:5,filenam:5,files:1,filter:[12,65,66,71],find:[0,11,20,26,38,42],fine:[28,32],finish:[38,41,51,68],first:[0,11,12,13,16,22,24,28,29,34,38,40,43,44,46,47,48,52,61,64],first_nam:24,firstnam:[11,12,48],fish:27,fit:62,five_minut:8,fix:[38,46],flash:41,flexibl:[14,16,25,30],flow:[59,71],fluffi:27,fobnszewobnioerabnoiawegbrn:[5,64],focu:[24,32],folder:1,follow:[0,2,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,28,29,30,36,38,39,40,41,42,44,46,47,48,51],foo9876a:71,foo:24,footprint:[41,43],forappl:42,force_refresh:28,ford:[18,19,69,70],forgot:71,fork:49,forkei:[39,52],form:[15,30,34,37,39,51,52],format:[0,2,12,13,14,15,20],fornotifi:42,fortun:8,forward:[38,40,41,42,59,66],found:[35,56,57],four:[57,62],foursquar:65,fragment:59,framebord:50,framework:[41,68],francisco:[20,34,66,67],fred:[11,66,69],free:[28,30,38],friend:[18,20,32,
41,64,65],from:[0,4,9,11,12],full:[11,15,23,32,34,36,38,41,47,56,57,61,62,64,69],fulli:[24,28,52],further:[24,29,36,42,48,56,59,61],furthest:[11,20],futur:[15,61],g9qgaaaurv_lfq7uu6ayhjjjn7qcrgovnvu:58,gain:[56,61],game:[7,41],ganyo:47,gatewai:44,gaufeolxeecfrgbqvsaaca:57,gcm:25,gcm_sender_id:47,gcmregistrar:42,gcmsenderid:42,gener:[0,6,7,24,25,27,28,30,33],geo:25,geocoordin:20,geograph:11,geoloc:11,get:[2,4,8,11,12,13,14,15],getapigeedeviceid:42,getclient:42,getcollect:52,getconnect:42,getdatacli:42,getent:52,getloggedinus:42,getregistrationid:42,getuniquedeviceid:[39,42],getuuid:42,ggkaaqmaggkabge5ffm1aqcadqaq_9ewr_ozeeguwxixowauaqcadqaqablaovoaeeguwxixowauaqa:65,ggkaaqmaggkabge5mlfh7gcadqaqjikhxefqeegw9hixowbregcadqaqjnep6ufqeegw9hixowbrega:65,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz3soh_6qeegvybixoxisvga:37,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz4zbyf6qeegvybixoxisvga:34,ggkaaqmaggkabge7pehcgwcadqaqvj9dljfzeekg9wloguza3acadqaqvkvrctfzeekg9wlogu
za3aa:65,git:[0,49],github:[26,31,47,49],give:[6,16,23,24,31,32,41,44,58,63,64,70],given:[15,16,23,30,37,50,51,56,61],gladi:12,gmail:[28,34,65,71],goal:[11,33],goe:26,gold:27,good:[0,23,61],googl:[25,32,34],gool:[38,46],got:[38,41],gotten:[38,41],govern:[55,57,62,66],grain:32,grant:[24,51,56,57,59,61,62,64],grant_typ:[27,35,51,57,58],granular:[6,8],graph:[25,32],graph_async:28,graph_us:28,gravatar:[12,24,65,66,71],great:[32,48,64,66,67],greater:[10,11,58],greatest:62,groovi:0,group:[5,12,14,15,18,19,24,25,30],group_path:39,groupid:51,groupnam:[65,66],grouppath:66,groupproperti:51,gte:10,guarante:29,guest:[23,42,56,61,64,65,71],guid:[9,26,49,52,59],guidanc:47,gzip:40,hacker:[56,57,61,62],had:39,half_hour:8,hand:16,handi:22,handl:[21,32,34,42,70],handlepushnotif:42,happen:[20,41],happi:[0,65],happy_cloud:5,hard:[1,62],hardwar:[38,41],hava:0,have:[0,12,14,15,16,19,22,24,30,31,35,37,38,39,40,41,42,47,48,51,57,58,59,61,62,64,65,66,67,68,70,71],head:[34,71],header:[4,56],heavi:41,height:[
50,51,65],hello:65,help:[7,11,14,30,32,55,57],her:[16,34,41],here:[2,12,16,20,24,26,27,30,41,49,59,65,66,68,71],hierarchi:[6,30,36,37,63,66],high:[14,16,39,41,42,43,55,58],higher:[27,62],highest:[36,37],highlight:16,hike:62,him:27,histori:39,hold:[5,52],home:20,homepag:6,host:[26,28,56,59],hotmail:37,hour:8,hous:16,howev:[8,11,12,13,15,28,29,30,38,41,47,48,59,61,64,65,68],href:[34,37,71],html4:[34,71],html5:[24,25,38],html:[0,34,44,47,51,59,68,71],htmldisplayemail:51,htmldisplayemailaddress:[34,37],http:[2,4,5,6,8,12,13,14,15,16,17,18,19,20],human:[34,71],hundr:11,hurrai:59,hystrix:28,icon:[44,65,68],idea:61,ident:[16,47],identif:[47,51],identifi:[9,16,30,34,40,42,44,48,52,71],ifram:50,illlustr:42,illustr:[14,38,39,41,42,55],imag:[2,4,5,14,32,38,41,47,51,65],imagemodel:25,imagin:[12,16,39,62],immedi:[32,39,64,71],immut:30,implement:[24,32,38,42,55,56,57,59,62,71],implicit:64,improv:[20,31,32],inact:[42,64],inbox:[48,65,67],includ:[6,11,12,14,15,16,21,22,23,24,30,32,34,38,39,40,41,42
,47,51,52,56,57,58,59,61,64,66,71],incorpor:68,incorrect:[24,34],increas:[13,20,32],increment_valu:6,index:[0,10,11,15,28,30,47,68],index_prefix:28,indic:[51,58,65,66],individu:[15,30,58,62],ineffici:[11,12,16],inflat:16,info:[34,51],inform:[4,8,11,12,13,14,15,16,20,22,24,26,30,32,34,36,38,39,40,41,42,44,47,48,49,52,55,56,59,61,65,66,68,69,71],infrastructur:[30,32],ing:65,inher:61,init:[39,52,59],initi:9,initil:28,initwithobject:52,initwithorganizationid:42,inner:16,input:[28,34,71],insecur:61,insert:59,insid:24,instal:[0,9,22,24,25],instanc:[26,27,30,42,52,57,60,68],instead:[16,24,28,32,57,61,62],instruct:[0,26,38,59,68,71],integ:[11,51],integr:[20,24,32,38,59],intend:30,intention:16,interact:[38,46],interest:[8,32],interfac:[26,68],intern:25,interpret:[24,63],intersect:10,intrins:24,introduct:[25,43],invalid:[48,59],invok:[38,41,42],iphon:68,isloggedin:42,isn:[14,22,24,42,55],iso:[34,71],isregisteredonserv:42,issu:[0,2],item:[10,12,13,15,24,39,52,65],items:13,itself:16,jane:71,jar
:[27,47],java:[0,26,27],javascript:[6,9,12,14,24,25,26,29,31,34,38],javscript:29,jdk:[26,27,28],jdoe57:30,jenni:16,jersei:33,jim:34,jin:50,jinm:34,job:64,joex:42,john:[24,30,57,65,66,71],johnson:50,join:16,jpeg:[2,4,5],jpg:[2,5,14,16],json:[10,12,14,15,16,19,24,27,30,34,35,39,40,52,59,65,66,70],json_arrai:15,json_object:15,just:[14,16,17,20,23,24,26,38,41,43,47,65,70],k88dh4f:18,kbundledsoundnamewithext:39,keep:[1,7,9,11,12,23,32,38,41,43,56,57,61,62],kei:[13,15,16,24,25,32,38,40,41,42,44,46],keychain:[44,47],keyspac:[26,28],keyword:15,kid:16,kind:[11,12,16],know:[8,41,44],known:42,kravitz:12,kugclientresponsesuccess:42,label:34,lack:23,lag:29,languag:[10,14,15,24],larg:[0,11,65],last:[5,11,30,37,48,51],lastnam:[11,12,48],lat:39,latenc:29,later:[16,20,39,44],latest:[26,27,47],latitud:[11,20,39],latitude_coordin:20,launch:[8,38,41,42,44,46,47,61],launcher:25,launchopt:42,layer:27,lceecubwbqvsaaca:57,learn:[22,23,25,32,38,41],least:26,leav:[26,44,64],left:[21,31,39,40,44,47,64,65,68],
length:[2,5],less:[10,14,58,65],let:[8,27,32,39,41,64],letter:71,level:[6,8,14,15,21,22,23,25,27,30,32,35,36,37,38,39,42,47,55,56],leverag:[32,68],lib:[26,28,47],librari:[38,41,47],lightweight:70,like:[0,2,5,8,10,14,16,17,18,19,23,26,28,29,32,34,38,39,41,48,59,61,63,64,65,67,68,69,70,71],liked_bi:69,limit:1,line:[0,16,26,27],linear:[14,26],listen:41,live:[23,25,56],load:[27,59],localfilebinarystor:1,localhost:[26,27,28],localizeddescript:42,locat:5,log:[6,26,32,38,39,40,42,44,46,47,48,57,59,60,64,65,68,71],login:25,logincredenti:25,loginfacebook:59,loginus:42,logout:25,longer:[11,61],longitud:[11,20,39],longitude_coordin:20,look:[2,8,10,11,16,38,39,41,59,62,65,71],loos:[34,71],love:16,low:[41,43],lower:6,lte:10,ltixndg0nduxndpvdjb0jwrevls1vcd0xvr3nwt0jrqq:11,lunch:41,mac:[38,41,44],machin:[44,47],made:[19,24,63,69],magic:16,mai:[0,6,9,13,15,23,30,39,40,42,47,51,60,61,64,66],mail:[26,28,30,66],mailer:[26,28],mailto:[34,37],main:[0,1,59],maintain:[16,59],mainten:31,make:[0,9,11,12,14,
16,22,23,24,28,29,30,32,36,38,42,46,47,48,56,57,59,60,61,65,68,69,70,71],makefil:0,maker:14,malici:[55,56,57,62],manag:[5,11,12,22,23,25,26,27,28,30,31],mandatori:[1,48,66,67,71],mani:[7,11,12,14,16,20,23,30,39,64,70],manual:[65,69],map:14,marginheight:50,marginwidth:50,market:41,massoddb:65,match:[11,15,38,46,47,52,63,71],matter:[32,38,41,47],mattress:14,maven:[0,26,27,28],max:28,maximum:[11,39,58],mayb:16,mean:[10,14,15,16,23,29,30,39,55,56,61,69,70],meant:65,meanwhil:29,measur:55,mechan:68,meet:26,member:[30,34,36,47,51,62,65,66,67],meme:[66,67],memori:[20,41],menu:[21,35,38,41,44,64,68],messag:[6,25,26,28,32,34],message:25,meta:[34,71],metadata:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,25,34,37],metadataproperti:51,meter:[11,20,39],method:[6,8,11,15,19],mfdsadfdsaoabl:65,middl:48,middlenam:48,might:[7,8,9,11,12,14,15,16,22,26,30,32,35,38,39,41,42,44,46,61,64,66],mile:20,milk:[13,15,52],million:32,millisecond:[30,51,58],mimic:33,mind:[1,9,11,12,16,20,23,38,41],minim:[16,26,28,33]
,minimum:[30,35,37],minu:16,minut:[8,32],mix:24,moab:65,mobil:[14,16,20,23,25,35,38,40,41,42],model:14,modern:[30,65],modif:[48,67],modifi:[2,5,6,12,13,14,15,16,17,18,19,20,24,30,34,37,47,48,51,52,58,64,65,66,67,71],modul:6,monitor:32,month:[8,32],more:[4,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,30,32,37,38,39,40,41,42],morn:8,most:[8,11,16,22,28,29,30,31,32,35,61,65,69,70,71],mountain:62,move:[42,47],much:[10,14,16,61,68],multi:[15,52],multipl:[0,11],must:[0,10,15,16,27,28,30,37,39,40,41,42,44,47,51,52,56,58,64,65,66,68,69,71],mustach:0,mvn:[26,27,28],my_app:[14,16,48,59],my_org:[14,16,48,59],myadmin:27,myapp:[12,27],myasset:2,mycollect:10,myfirstorg:27,mygroup:[65,66],mynewapp:[66,71],mynewgroup:66,mynewpassword:34,myorg:[12,66],mypassword:27,myself:[16,26,28],myuser:27,name:[1,2,4,5,6,8,10,11,12,13,14,15,16,17,18,19,20,21,23,24,26,27,28,30,34,35,37,38,39,40,41,42,44,46,47,48,51,52,56,58,59,61,63,64,65,66,67,68,71],narrow:[10,64],nativ:[0,14,42,47],natur:[11,12],nav:[39,40,44]
,navig:[26,27,28,47],nearbi:20,nearest:[11,20],nearli:16,necessari:[16,32,38,41,42,47,64],need:[0,1,2,8,9,11,12,13,14,15,16,21,22,24,26,28,30,31,32,34,35,36,37,38,39,41,42,43,44,47,48,56,57,59,60,61,62,64,65,66,68,69,70,71],neg:6,nest:[15,30,52],net:[24,50],network:32,never:[23,25,35,56,57,58],new_password:[34,71],new_review_uuid:16,newdevicetoken:42,newent:52,newli:[44,51,63,65],neword:39,newpassword:[34,51,71],next:[11,13,21],nil:[42,52],node:[24,26,28,52,53,57,60],nodej:28,non:[14,16],none:64,normal:[4,15,16],nosql:[11,12,14],notat:[10,12,14],note__:71,notic:[5,16,19,59,65],notif:[20,22,25,26,28,30],notifc:51,notifi:[25,30,38],notificationid:51,notificationupd:25,notifier_nam:39,notifiernam:42,notify_sysadmin_of_new_admin_us:[26,28],notify_sysadmin_of_new_organ:[26,28],now:[26,27,28,39,41,47,59,68],nsarrai:52,nsdata:42,nsdictionari:[42,52],nserror:42,nsexcept:52,nslog:42,nsmutablearrai:52,nsmutabledictionari:[39,52],nsstring:[39,52],number:[6,7,11,12,13,14,30,32,38,41,44,46,47,51
,61,64,65,71],numebr:51,ob5ko:58,object:[5,9,10,12,14,15,24,25,30,32,34,35,37,39,42],objectforkei:42,objectproperti:51,objecttyp:[34,37,51],objectuuid:51,obtain:[48,56,58,59,61],occur:[7,20,38,46],occurr:11,octal:10,off:[26,39,42,59],offer:[20,23,24,32,61,69,70],offici:68,often:[8,10,16,30,32,65],old:[34,51,71],old_password:[34,71],oldpassword:[34,71],omit:12,onc:[0,11,16,26,29,38,40,41,44,46,47,59,61,64,71],onexcept:42,ongo:[32,65],onli:[5,9,11,12,16,21,23,24,26,29,30,35,51,55,56,57,58,61,62,63,65,66,69,71],onlin:65,onrespons:42,oop:59,opdata:52,open:[14,16,23,25,28,31,47],optim:[11,12,14,16],option:[5,9,26,28,30,42,47,52,56,59],order:2,orderl:11,org:[1,2,4,5,6,8,12,13,15,17,18,19,20,24,26,27,28,34,35,37,39,40,42,47,51],org_client_secret:57,org_clientid:57,org_id:[15,51,65,66,71],org_nam:[35,37,58,60],org_uuid:[35,37],organ:[0,2,4,5,6,8,12,13,14,15,16,17,18,19,21,23,24,25,26,27,28],organizationnam:58,organizations_require_activ:[26,28],orgid:51,orgnam:[9,42,47,51,57,59],orguuid:51,
origin:[44,66],originali:67,oscar:27,our:[0,9,11,12,26,27,28,31,39,49,52,70],out:11,outbox:65,outgo:28,outlin:5,output:[42,59],over:[8,41,58],overrid:[28,42,58],overview:[11,12,25,30],overwritten:15,own:[7,23,32,39,51,59,63,65,66,67,71],owner:[2,37,51,65,66],p12:[38,40,41],p12certif:40,packag:[26,59,68],page:[22,23,27,34,39,40,44,57,59],pair:[13,15,39,52],pane:[47,64],param:[2,5,6,8,12,13,14,15,16,17,18,19,24,42,52,58,63,64,65,66,71],paramet:[4,5,6,8,9],pars:59,part:[9,11,12,16,20,24,39,44],partial:[11,30],particular:[10,16,39,65],particularli:[14,16,63,65,69],partit:22,pass:[11,35,42],passiv:70,password:[24,25,26,27,28],path:[2,5,6,12,13,14,15,16,17,18,19,20,23,24,25,26,28,34,37,38,39,46,47,51,52,59],path_to_imag:16,pathnam:59,pattern:[42,51,63],payload:[39,47,51],peak:8,peopl:[7,30,65,66,67,68],per:[13,14,59,64],perceiv:29,perform:[4,5,13,14,16,18,29,32,34,36,38,48,56,57,62,63,65,67,71],period:[7,8,20,64],permiss:[5,12,18,19,23,24,25],persist:[24,27,28],person:[16,20,31,34,37,44,6
8],perspect:30,pertin:36,pet:27,phone:12,phone_numb:12,phone_typ:39,phonegap:25,photo:[20,70],physic:20,pictur:[4,5,12,20,24,48,51,66,71],pinterest:65,pip:0,place:[14,15,16,26,30,52,57,71],plai:[7,22,41],plain:4,plan:16,platform:[32,38,39,40,41,42,43,44,47],pleas:[10,34,39,56,58,64,69],plenti:0,plug:[38,42,47],plugin:[42,47],plural:[13,15,30,51],png:16,point:[10,11,14,20,28,29,32,33,59,68],polici:[49,61],pop:68,popul:[66,68,70],popular:[32,68],popup:64,port:[26,27,28],portal:[21,22,23,25,26],portion:[39,51],pose:58,posit:[11,20],possibl:[16,38,41,42,46,61,69],post:[2,5,6,7,13,15,16,17,18,21,23,24,25,27,34,35,36,37,39,40,42,47,51],postal:11,potenti:11,power:[20,27,30,32,50,57,62,69],practic:[11,12],preced:[12,16],precis:65,predefin:30,prefer:[11,24,26,38],prefix:35,prepar:61,present:[16,25],preserv:66,press:[38,46,47],prevent:[11,12],preview:0,previou:[44,65,68],previous:68,price:[10,13,15,52],primari:[16,48],prior:61,privaci:65,privat:32,privileg:37,probabl:[0,16,26,29],process:[27,
30,34,41,42,51,70],product:[14,16,21,23,25,26,30,39,40,44,55],product_uuid:[14,16],productid:16,productimag:16,productnam:16,productuuid:16,profil:[20,32,38,41],program:29,programat:21,programmat:[25,35],progress:39,project:[0,27,33,36,37,38,41,44,46,47,49,68],prompt:[26,47,59],prone:65,proof:[34,71],prop:52,proper:47,properit:20,properli:[27,29],properti:[1,4,5,6,9,10,11],properties____:26,property_1:[13,15],property_2:[13,15],property_nam:11,props1:52,props2:52,propti:34,protect:[55,57],protocol:[26,28,59,61],prototyp:59,provid:[6,8,11,13,14,15,20,21,24,28,30,32,34,35,37,39,40,41,42,44,47,48,51,52,53,56,57,59,61,62,64,65,66,68,71],provis:[38,41],proxim:[11,20],pull:[31,41,42],pure:24,purpos:[10,23,26,30,35,64,70],push:[0,20,22,25],pushalert:39,pushapp:44,pushnotif:42,pushtest:47,pushtest_dev:40,put:[5,12,13,15],pw123:26,pwhere:28,python:0,qualifi:24,quantiti:10,query_stat:12,query_str:[66,71],querystat:51,querystr:52,queue:[39,51],quick:25,quicker:24,quickli:[11,12,16,30,32,70],qu
itwait:[26,28],quot:[12,39,51,52],radiu:39,raleigh:50,rang:8,rate:16,rather:[5,16,17,18,32,42,44],raw:0,rawrespons:[39,42],rdbm:[14,16],reach:[10,25,41],reactiv:25,read:[9,11,12,14,16,22,43,49,51,65],read_phone_st:47,readabl:16,readi:[11,22,28,68],readm:[0,38,42,49],real:51,reason:[41,66],recaptcha:[34,71],recaptcha_challeng:51,recaptcha_challenge_field:34,recaptcha_respons:51,recaptcha_response_field:34,recaptchaopt:34,receipt:[25,30],receiptid:51,receiv:[11,29,38,41,42,43,44,48,51,67,68,71],reciev:51,reciproc:69,recommend:[26,52,61],record:[30,32],recreat:[38,46],recurs:63,redefin:64,redirect:[26,28,47,59],redirect_root:[26,28],redirect_uri:59,reduc:[12,16],redund:16,regard:[6,30],regardless:15,regid:42,regionnam:1,regist:[25,32,38,40,41],registerdevic:42,registerdeviceforpushasync:42,registerforremotenotificationtyp:[38,41,42],registerpush:42,registerwithpushprovid:42,regularli:41,rel:[34,71],relat:[5,14],relationship:[16,17,18,19],relev:[20,32,59,61,70],reli:16,rememb:[10,39,44,
59,68],remind:16,remot:[20,42],remov:[23,25,26,34],removeent:52,renam:30,repeat:68,replac:[1,16,47,59,68],replic:26,replication_factor:[26,28],repo:[26,28,49],report:[7,31],reposloc:1,repres:[11,14,21,24,30,32,34,37,38,40,42,51,62,63,65,66,71],represent:[11,15,24,30],request:2,requir:[0,6,13,17,18,20,23,25],resend:39,reserv:30,resetpw:[25,26,28,34],resetpwmsg:25,resolut:8,resourc:[0,1,24,36,38,48,56,59,62,63,64],resource_path:63,respect:56,respond:[38,46],respons:2,response_typ:59,restaur:[11,20,41],restkit:68,restrict:[61,64],restructuredtext:0,result:[10,11,13],retri:39,revers:44,review_entity_json:16,review_uuid:16,reviewed_product_uuid:16,reviewedbi:16,reviewedin:16,revok:25,revoketoken:60,rich:[32,70],right:[16,24,29,41,64,65,68,70],rigid:30,risk:58,rock:10,rockadero:20,rocki:62,role:[5,10,12,18,19,21,23,24,25,30],roleid:51,rolenam:[5,12,18,19,24,48,51,64,66,67,71],roleproperti:51,root:[0,26,27,28,47,61],rout:[32,65],row:14,rubi:[24,52,53],rule:[23,55,57,61,62,63,64,66,71],run:
[0,7,25],safe:62,sai:[8,56,57,65],sake:28,sale:41,same:[5,6,11,16,18,19,20,28,30,32,38,39,42,46,47,51,62,64,65,66,67,68],sampl:25,san:[20,34,66,67],sandbox:[5,15,22],santa:50,save:[5,15],scalabl:[14,16,26],scale:16,scatter:16,scene:[48,59],schedul:[25,38],schema:[14,30,51,64],scope:[16,27,57,59,62],screen:[21,47,50],script:[0,34,62,71],scroll:50,sdk:[6,9,14,15,22],search:[8,11,32],second:[6,29,34,39,58,64,68],secondari:16,secret:[25,35,51],secretkei:1,section:[24,35,38,39,44,47,51,56,57,66,68,71],see:[2,4,8,9,10,11,12,13,14,15,19,20,21,22,23,24,26,27,30,32,34,35,36,37,38,39,40,41,42],seen:65,segment:63,select:[10,11,12,16,21,23,24,39,40,44,47,64,66,68,71],self:[39,42,59],send:[1,4,9,11,12,19,20,25,27,32,34,37],sender:[38,41,44,46],senderid:47,sendmyselfapushnotif:39,sens:[16,32],sensit:[23,55],sent:[9,12,24,25,34,35,37],separ:[6,12,16,30,38,39,40,41,42,44,52,59,64],seri:0,serv:[61,62,64],server:[11,23,26,29,32,35],servic:[1,12,20,23,24,25,27,32,34,36,37,38,39,40,41,42],session:[59,6
1],set:[0,4,5,6,8,11,12],setapiurl:42,setapplicationid:42,setdevicepushtoken:42,setlog:42,setobject:52,setorganizationid:42,settoken:59,setup:25,setvalu:39,sever:[1,24],share:[27,37,65,70],sharedappl:52,she:41,shell:22,shorthand:11,should:[0,2,11,12,15,16,17,18,22,23,26,28,38,39,40,41,42,44,47,49,51,52,55,56,57,58,61,62,64,68],show:[12,13,16,38,39,52,64,68],shown:[9,11,12,13,15,19,34,38,39,41,46,47,56,59,65,66,71],side:[31,32,35,56,57,59,61,62,68],sidebar:64,sign:[25,26,28,30,32],similar:[16,44,65,68],simpl:[0,14,16,23,26,30,32,38,68,70],simplestrategi:[26,28],simpli:[13,19,24,32,64,65,68],simplifi:[16,32],simultan:39,sinc:[10,11,29,56,62],singl:[8,12,14,15,16,26,30,32],singular:30,site:[40,44],six_dai:8,skim:[15,52],sku:[14,15,52],slash:[66,67],slate:64,slideshar:50,slideshow:50,slightli:14,slower:10,small:26,smith:11,smtp:[26,28],snippet:59,social:[20,25],softwar:28,sojre5ywlkq7jrdcka:57,solid:50,solut:30,solv:32,some:[0,1,7,9,11,16,24,27,29,30,61,64,65,66,68],somegroup:66,someon:
[8,39,64],somepassword:[26,58],somesubgroup:66,someth:[2,16,26],sometim:[0,14,38,46],someus:[24,26,58,60,64,66,71],soon:25,sort:[11,20,24],sound:[39,42],sourc:[0,14,16,25,31],space:16,span:[8,16],sparingli:62,special:[0,20,41,63,64,69],specif:[7,10,11,14,15,16,19,24,30,32,38,39,40,41,42,47,51,52,56,60,62,63,64,65,66,71],specifi:[6,11,12,13,15,17,18,19,20,24,26,36,37,39,40,42,51,52,56,57,58,63,65,66,68,71],split:8,sql:[10,16,32],squar:15,src:[0,1,34,47,50,71],ssl:[38,41],stack:[1,25,26,27],stage:28,standalon:27,standard:[20,24,42,47,61,62,71],start:[8,11,12,14,16,22,24,25],start_tim:8,startup:27,state:[24,34,42,51,59],statement:[12,29,51],statist:7,statu:[12,26,27,28,33,34,37,42,51,59,70],steventraut:[66,71],still:[22,38,46,61],stock:[13,15,26,41,52],stop:[11,39],store:[1,5,10,11,12],str:65,strateg:16,strategi:[26,28],stream:20,streamlin:[16,68],string:[9,10,11,12,13,15,16,30,34,35,37,39,42,48,51,52,56,59,65,66,67],stringifi:59,strong:34,stronger:20,structur:[16,24,27,36,69],struggl:
65,style:[32,34,50,55,65,68,71],stylesheet:[34,71],sub_properti:15,subgroup:66,submit:[11,12,34,39,44,49,63,71],subproperti:52,subproperty1:52,subproperty2:52,subscrib:[65,66,67],subscript:[66,67,69],subsequ:[48,51,56,57,59],subset:[13,16,39],substitut:65,subtract:10,succe:[48,59,63],succeed:42,success:[26,29,47,51,52,61],successfulli:[38,46],sudo:0,suffix:44,suggest:[20,23,31],suit:[57,62,64],summit:50,sungju:50,superadmin:26,superus:[26,28],suppli:[34,37,51,57],support:[0,8,10,14,16,20,22],suppos:15,supprt:47,sure:[21,23,28,38,41,46,47,55,61,68],swagger:[0,33],symbol:71,sync:25,synchron:25,sysadmin:[26,28],system:[0,14,26,28,30,42,44,48,49,51,58,65,66,68,71],tab:[38,40,41,47,64],tag:[42,51,59],take:[6,11,16,28,29,32,44,55,57,61],taken:[20,42,59],tale:[10,11],talk:[50,61,68],tap:47,tar:59,target:[0,25,26,27,28,32,38],task:64,team:[36,37,47,68],technic:59,techniqu:[11,16],technolog:47,tell:[38,41],temp:1,templat:[0,47],temporari:1,tempt:[16,44],tend:[66,67],termin:47,test12345:[34,3
7],test1234:71,test123:[34,37],test:[5,11,23,26,28,37,38,41,47,61,62,66,68],testadmin:57,testadminpw:57,testapp1:[35,37],testapp2:37,tester123:37,tester:51,testorg:[35,37],testpw:57,text:[4,10,11,32,34,39,65,68,71],text_field:34,than:[0,5,6,8,10,11,12,13,16,17,18,26,32,42,44,47,58,61],thank:32,thei:[0,11,12,15,16,20,30,37,41,42,43,55,56,57,61,62,64,65,66,67,71],them:[0,6,9,10,11,12,16,23,24,32,38,39,41,42,47,57,59,62,64,65],theme:[16,34],themselv:71,thereaft:55,thereof:39,thi:[0,1,2,6,8,9,10,11,12,13,14,15,16,20,21,22,24,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,46,47,48,49,51,52,55,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71],thing:[7,10,22,23,31,38,41,43,50,55,66,67,71],think:65,those:[11,16,41,42,47,49,55,56,57,61,62,65,71],though:[11,16,39,44,51],thousand:14,threadpool:28,three:[6,11,26,38,62,64,68],through:[14,16,21,32,35,36,37,42,44,48,51,55,59,61,62,65,66,71],thumb:23,tier:27,time:[6,7],timeout:28,timestamp:[2,5,6,8,10,12,13,14,15,16,17,18,19,24,26,30,34,35,37,39,48
,51,52,58,60,63,64,65,66,67,71],tip:[39,40,42,47],titl:[10,11,16,34,37,39,42,51,64,66,67,71],tld:[26,28],tmp:1,toctre:0,todai:20,togeth:[0,62],token:[9,13,15,23,24,25,27,34,35,36,37,38,39,41,42,48],token_to_revok:60,tom:63,tomcat:25,too:0,tool:[9,11,12,25,32],top:[21,27,38,39,47,59,68],topic:[11,31,39,52,53,57,66,67,71],topolog:26,tostr:42,track:[6,7,48],trail:62,transactionst:42,transfer:24,transform:0,transit:[34,71],transport:[26,28],treat:[15,25],trend:32,trial:24,troubleshoot:25,truli:32,trust:44,tsefia:34,ttl:25,ttl_in_millisecond:58,tupl:14,turn:[39,41,59],tutori:[22,25],tweet:[32,65],twitter:[32,65,68],two:[11,12,27,29,30,34,40,42,52,56,68,69,70],type:[2,4,5,6],typic:[10,24,30,71],udpat:0,uffff:10,uiapplic:[42,52],uiapplicationlaunchoptionsremotenotificationkei:42,uiremotenotificationtyp:42,uiremotenotificationtypealert:42,uiremotenotificationtypesound:42,unauthent:64,under:[23,26,39,44,47,57,60,61,64,68],underli:[14,42],understand:[30,47],unencod:[9,11,12],unexpect:51,unfam
iliar:14,unfortun:0,unicod:10,uninstal:[38,46],union:10,uniqu:[15,30,40,42,44,48,51,59,66,67,68,71],univers:30,unix:[6,39,48,51,67],unix_timestamp:39,unless:[0,39,48,56,59,62,68],unlik:[14,15,30],unlock:[38,46],unnecesari:61,unregist:64,unreleas:28,unsecur:61,unsent:25,until:[29,38,46,51,64],untrust:61,untrustworthi:25,unus:64,upcom:20,updatecollect:52,updatedent:52,updateent:52,upon:24,upward:6,uri:[2,5,6,8,9,12,13,14,15,16,17,18,19,24],url:[9,11,12,13,15,16,19],usag:8,usegrid:[24,25],user:[5,7,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25],user_uuid:16,user_uuid_or_usernam:60,usergrid_appl:28,usergriddatacli:[57,60],usergridsdk:59,userid:51,userinfo:42,usernam:[11,12,15,17,18,19,24,26,27,28,30,34,37,38,39,42,47,48,51,55,57,58,61,62,63,64,65,66,68,69,71],username_or_email:71,useruuid:42,usingnotifi:39,usual:26,utc:[30,51],util:[27,30,32],uuid:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,30,34,35,37,39,42,48,51,52,58,59,63,64,65,66,67,71],uuid_for_selected_review:16,val:59,valid:[1,13,1
5,30,34,35,37,39,40,47,48,56,58,59,61,63,64,65,66,67,71],valu:[1,6,8,10,11],valuabl:32,value_1:[13,15],value_2:[13,15],vari:8,variabl:[42,63],varieti:[15,24,36,52,71],variety_1:52,variety_2:52,variety_3:52,variety_list:52,variou:[39,61],verb:[16,34,37,51,65],veri:[0,11,12,22,30,56,65],verifi:[40,44,47,55],version:[26,28,38,39,44,46,47,68],versu:65,via:[0,26,30,31,34,37,39,44],vibrat:47,video:[5,25,32,38,43],view:[8,16,26,28,38,39,41,44,47,62],virtual:[38,41],visit:[26,38,41,44],visitor:62,w3c:[34,71],wai:[6,11,12,14],wait:[11,29,38,42,46],walkthrough:[38,41,47],wall:65,want:[0,1,5,6,11],war:25,warn:[23,39,56,57,62,64],watch:[26,38],weakself:39,web:[12,14,16,26,27,28,35,38,40,41,44,47,48,57,59,61,62,70],webapp:[26,27],week:8,welcom:[26,28,31],well:[20,24,26,32,38,41,47,60,61,65,68,69,70,71],went:26,were:[11,12,20,47,66,67],what:[16,20,22],whatev:23,whatsoev:55,when:[0,5,9,11,12,15,16,17,20,23,24,25,26,28,29,30,32],whenev:59,where:[0,2,10,11,12,16,20,22,23,24,28,30,38,39,44,47,48,59,6
1,65,71],whether:[40,48,51,56,70],which:[0,8,11,13,14,15,16,18,21,26,29,30,34,36,38,39,40,41,42,44,46,47,48,51,55,56,57,58,59,61,62,63,65,66,67,69,71],who:[16,31,32,49,51,55,57,61,64,65],whole:[15,51,52],whose:[11,12,19,24,38,41,42,46,64,71],why:26,wide:[62,71],width:[50,51,65],wildcard:[11,63],window:[22,42,44,47,59,68],wireless:20,wish:[13,30,39,71],within:[6,11,15,20,26,30,37,39,51,58,62,65,68],without:[11,56,64,71],won:[38,41,47,65],word:[11,13,14,15,16,38,41,65],work:[0,11,12,14,16,20,23,25,26,28,29,31,32,40],workflow:49,world:65,would:[4,8,9,11,16,19,20,26,34,56,58,59,61,62,63,65,66,67,69,71],wouldn:16,write:[14,16,55,68],written:[0,14,16,26,31,38,49],wrong:26,wrote:16,www:[12,24,34,47,50,59,65,66,71],xcode:[38,41,47],xcodeproj:47,xfbml:59,xml:[1,47],yaml:0,yea:47,year:65,yet:[11,38,41,51,66],yhixpqk1cq:35,you:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15],your:[0,1,4,5,6,7,8,9,10,11],your_app_id:59,your_domain:59,your_redirect_url:59,your_response_typ:59,your_state_valu:59,yourapp:9,y
ourappnam:59,yourdomain:24,yourorg:9,yourorgnam:59,yourself:[38,46,47],ywmt4nqe8q9geelyjhixpsio4aaaato5fqfcg0ced2h9nwmdmrorknnreeqydof:34,ywmtfeewemyneektbnx3o4pu0qaaat8vzk3xz3utvzat0cosiym75c2qpigt79c:40,ywq6aaabmqz_xuyyeerokkjnzn7yqxxlpgml69fvaa:57,yxa65gylqja8ayysay8ox3vg5arzp48:35,yxa6aaabmq0d4mep_ugbza0:57,yxa7ygil:35,yxb7nad7em0meej989xixprxekq:57,yxb7nautv9krhhmr8ycw0qbozh2pxef:57,yxu6aaabmq0hdy4:57,zip:59},titles:["Apache Usergrid Documentation","File storage configuration","Folders","<no title>","Retrieving assets","Uploading assets","Creating & incrementing counters","Counters & events","Retrieving counters","Advanced query usage","Query operators & data types","Query parameters & clauses","Querying your data","Collections","The Usergrid Data Store","Entities","Data Store Best Practices","Connecting entities","Disconnecting entities","Retrieving connections","Geolocating your Entities","Creating a new application","Creating an Usergrid Account","Using
a Sandbox Application","Using the API","Apache Usergrid Documentation","Usegrid 1: Deploying to Tomcat","Usegrid 1: Launcher Quick-start","Usergrid 2: Deploy to Tomcat","Async vs. sync calls","Usergrid Data model","Documentation Overview","Usergrid Features","jersey2skeleton","Admin user","Application","Organization & application management","Organization","Adding push notifications support","Creating and managing notifications","Creating notifiers","Getting started with push notifications","Managing users and devices","Push notifications overview","Registering with a notification service","COMING IN USERGRID 2","Troubleshooting","Tutorial: Push notifications sample app","Users & Devices","How to Contribute Code & Docs","Presentations & Videos","Methods","Usergrid iOS SDK","Usergrid SDK Documentation outline","COMING SOON...","Security & token authentication","Authenticating API requests","Authenticating users & app clients","Changing token expiration (time-
to-live)","Facebook sign in","Revoking tokens (logout)","Security best practices","Authentication levels","Using permissions","Using roles","Activity","Working with group data","Groups","App Example - Messagee","Social Graph Connections","User management & social graph","Working with User Data"],titleterms:{"default":[30,58,61,64],"new":[21,23],"return":71,"super":26,about:47,access:[24,51,56,61],accesstokenrespons:51,account:[22,68],acquir:61,action:51,activ:[32,34,37,51,52,53,65,70],activityfe:51,add:[26,59],addit:47,addrol:51,admin:[34,37,39,40,51,52,53,57,60,62,64],advanc:9,all:[9,19,39],android:[38,41,42,46,47,68],apach:[0,25,50],api:[0,9,24,27,47,56],apn:[38,41,44],app:[20,38,43,44,46,47,50,51,52,53,57,59,61,68],appdata:51,appl:[38,40,41,44],applic:[21,23,30,32,35,36,37,51,52,53,57],asset:[2,4,5,32],assign:[52,53,63,64],async:29,asynchron:29,attach:9,authent:[24,32,52,53,55,56,57,62],backend:50,base:24,basic:12,batch:13,befor:47,begin:47,best:[16,61],between:0,build:[0,26,
27,28,43,50,52,53],call:[9,29],can:43,cancel:39,cassandra:[26,50],certif:[44,47],chang:[58,71],claus:11,client:[37,43,52,53,56,57,61,68],code:49,collect:[13,24,30,51,52,53,67],come:[32,45,54],complet:34,complex:63,comput:16,configur:[1,26,47,62],connect:[17,19,38,42,52,53,69,70],consol:26,construct:24,contain:11,content:0,contribut:[49,50],counter:[6,7,8,52,53],creat:[6,13,15,21,22,23,34,35,37,39,40,43,44,47,52,53,58,59,64,65,66,68,69,71],createact:51,createadminus:51,createent:51,createev:51,creategroup:51,createnotif:51,createorg:51,createus:51,credenti:[35,37,51,52,53],curl:[39,42],cursor:11,custom:[15,26,52,53],data:[4,10,12,14,15,16,20,30,32,47,52,53,66,71],databas:26,deal:0,decrement:6,delet:[13,15,39,52,53,66,71],denorm:16,deploi:[26,28],deploy:28,descript:66,dev:47,devic:[39,42,43,48,51],dialog:59,differ:0,directli:47,disconnect:[18,52,53],displai:71,doc:[0,49],document:[0,25,31,49,53],download2:27,download:[26,27,47],edit:61,emul:46,endpoint:[39,40],enrich:20,entiti:[4,13,1
5,17,18,19,20,24,30,32,47,51,52,53],error:[38,46,51],event:[7,51,52,53],exampl:[4,5,6,8,13,15,26,28,34,35,37,52,53,57,58,59,60,63,64,65,66,68,71],expir:[39,58],facebook:[48,59],fail:46,featur:32,feed:[34,37,52,53,65,70],file:[0,1,26,28,32],find:43,flexibl:32,folder:2,follow:[52,53,65,69],form:71,format:24,from:[13,37,38,46,52,53,66],gcm:[38,41,44],gener:[35,37,44,47,52,53,67],geoloc:[20,32],get:[16,26,27,34,35,37,39,41,43,52,53,71],googl:[38,40,41,44],graph:[69,70],group:[32,39,51,52,53,65,66,67,70],handl:71,hierarch:6,how:[0,38,41,49,50],html5:[42,68],http:[24,27,61],imagemodel:51,increment:[6,52,53],initi:34,instal:[26,46,52,53],intern:50,interv:[8,52,53],invalid_send:[38,46],invok:59,issu:24,itself:28,java:28,javascript:[42,59,68],jersey2skeleton:33,kei:47,launcher:27,learn:43,let:71,level:[57,62],limit:11,link:2,list:2,live:58,local:[1,28],locat:[11,20,39],login:[26,32,52,53,57,59],logincredenti:51,logout:[52,53,60],manag:[32,36,39,42,43,52,53,70],markdown:0,messag:[38,39,46],me
ssage:68,metadata:51,method:[24,51],mismatchsenderid:[38,46],mobil:[50,61],model:[16,30,51],more:[43,47],multipl:[12,15,39,52,53],never:61,next:22,note:0,notif:[32,38,39,41,43,44,47,51],notifi:[39,40,43,47],notificast:39,notificationupd:51,oauth:[24,59],object:51,open:50,oper:10,order:11,org:[52,53],organ:[30,36,37,51,52,53,57],other:[0,47,52,53,69],out:16,outlin:53,overview:[31,41,43,50],p12:44,paramet:[11,39,66],parti:32,password:[34,52,53,71],path:63,permiss:[32,51,52,53,61,63],phonegap:[38,41,42,46,47],piec:38,portal:[28,39,40,64],post:[52,53,65],practic:[16,61],pre:16,prerequisit:[0,41,43],present:50,product:61,profil:47,programmat:40,properti:[12,15,26,28,30,48,52,53,67],provis:47,publish:0,push:[32,38,41,43,46,47],put:16,queri:[9,10,11,12,16,20,24,32,52,53],quick:27,reach:43,reactiv:[34,37,52,53],receipt:[39,51],refer:[0,52,53],regist:[42,43,44,47],registr:32,relat:16,relationship:[32,48],relationshop:48,remov:[37,52,53,63,64,66],request:[4,5,6,8,12,13,15,17,18,19,24,34,35,37
,39,56,57,58,60,63,64,65,66,71],requir:[26,27,28,38,40],reset:[6,34,52,53,71],resetpw:51,resetpwmsg:51,respons:[5,6,8,12,13,15,24,34,35,37,57,58,63,64,65,66,71],rest:[0,71],result:16,retriev:[2,4,8,12,13,15,16,19,37,52,53,65,66,71],review:[16,47,61],revok:[52,53,60],role:[32,51,52,53,61,64],rst:0,run:[26,27,28,47],sampl:[38,47],sandbox:[23,61],save:20,schedul:39,sdk:[24,28,52,53,57,59,68],secret:56,secur:[21,23,55,61],see:43,send:[38,43,46,47],sent:39,server:[38,46],servic:[44,47],set:[13,34,38,39,43,48,51,52,53,67],setup:[26,41,47,59],sign:[44,48,59],singl:39,social:[32,69,70],soon:[32,54],sourc:[50,52,53],sphinx:0,ssl:44,stack:28,start:[26,27,41,43,52,53],step:[22,47,59,68,71],storag:[1,32],store:[14,16],stream:32,sub:[15,51,52,53],support:[24,38,43],sync:29,synchron:29,syntax:[4,5,6,8,12,13,15,17,18,19,57,58,60,63,64,66,71],tabl:0,target:39,third:32,time:[8,52,53,58],token:[51,52,53,55,56,58,60,61],tomcat:[26,28],tool:47,treat:61,tri:[38,46],troubleshoot:[38,43,46],ttl:58,tutori:
[38,43,47],type:[10,19,51],unsent:39,untrustworthi:61,updat:[0,5,13,15,34,52,53,71],upload:5,uri:[34,35,37,65,66,71],url:[24,37],usag:[9,12],usegrid:[26,27],user:[26,32,34,37,39,42,43,48,51,52,53,57,60,62,65,66,68,70,71],usergrid:[0,14,22,25,26,28,30,32,45,47,50,52,53,68,71],valu:12,via:47,video:50,wai:[16,61],want:16,war:26,websit:[0,49],what:[23,41,43],when:[38,46,58],work:[41,46,52,53,66,71],you:[16,43,47],your:[12,16,20,38,43,46,52,53,61]}})
\ No newline at end of file
+Search.setIndex({envversion:46,filenames:["README","assets-and-files/file-storage-configuration","assets-and-files/folders","assets-and-files/legacy-asset-support","assets-and-files/retrieving-assets","assets-and-files/uploading-assets","counters-and-events/creating-and-incrementing-counters","counters-and-events/events-and-counters","counters-and-events/retrieving-counters","data-queries/advanced-query-usage","data-queries/operators-and-types","data-queries/query-parameters","data-queries/querying-your-data","data-storage/collections","data-storage/data-store-dbms","data-storage/entities","data-storage/optimizing-access","entity-connections/connecting-entities","entity-connections/disconnecting-entities","entity-connections/retrieving-entities","geolocation/geolocation","getting-started/creating-a-new-application","getting-started/creating-account","getting-started/using-a-sandbox-app","getting-started/using-the-api","index","installation/ug1-deploy-to-tomcat","installation/ug1-lau
ncher-quick-start","installation/ug2-deploy-to-tomcat","introduction/async-vs-sync","introduction/data-model","introduction/overview","introduction/usergrid-features","jersey2skeleton/README","orgs-and-apps/admin-user","orgs-and-apps/application","orgs-and-apps/managing","orgs-and-apps/organization","push-notifications/adding-push-support","push-notifications/creating-and-managing-notifications","push-notifications/creating-notifiers","push-notifications/getting-started","push-notifications/managing-users-and-devices","push-notifications/overview","push-notifications/registering","push-notifications/tbd","push-notifications/troubleshooting","push-notifications/tutorial","push-notifications/users-devices","reference/contribute-code","reference/presos-and-videos","rest-endpoints/api-docs","sdks/ios-new","sdks/sdk-outline","sdks/tbd","security-and-auth/app-security","security-and-auth/authenticating-api-requests","security-and-auth/authenticating-users-and-application-clients","securit
y-and-auth/changing-token-time-live-ttl","security-and-auth/facebook-sign","security-and-auth/revoking-tokens-logout","security-and-auth/securing-your-app","security-and-auth/user-authentication-types","security-and-auth/using-permissions","security-and-auth/using-roles","user-management/activity","user-management/group","user-management/groups","user-management/messagee-example","user-management/user-connections","user-management/user-management","user-management/working-user-data"],objects:{},objnames:{},objtypes:{},terms:{"005056c00008":71,"00767101f6b4f2cf5d02ed510dbcf0b4":66,"02e81ac5a17b":[2,10],"02e81adcf3d0":[5,6,8,13,15,18,19,24,52,63,64,65,66],"02e81ae236e9":66,"02e81ae61238":66,"02e81ae640dc":[2,65],"02e81ae66238":66,"02e81aeb2129":66,"02e81aeb26e9":66,"02e9sjwsf3d0":[15,52],"03ae956a":20,"0455fc92de2636fc7a176cc5d298bb78":66,"08fe":52,"0abe":[13,52],"0d7cf92a":[15,52],"0d7e":37,"0d7f":37,"0f1ff3650d20":[17,66,71],"10e":10,"10e10":10,"11apigeeapsdestination11":39,"11e0":[
8,71],"11e1":[2,24,30,34,37,65,66,71],"11e2":[2,5,6,8,10,12,13,15,18,19,24,37,52,63,64,65,66],"11e3":[5,13,15,17,18,19,20,24,52,58,64,66,71],"1231380a0284":65,"12313b01d5c1":[2,24,30,65],"12313b06ae01":65,"12313b06d112":65,"12313b111c56":37,"12313b122c56":[34,37],"12313d027361":37,"12313d027471":37,"12313d14bde7":66,"12313d1520f1":65,"12313d1c4491":[2,34,37,65],"12313d1c44914":65,"12313d1c5591":37,"12313d288ee0":37,"12313d288ff0":37,"12313d331ae8":65,"12313f0204b":71,"12313f0204bb":[8,71],"12313f0204bb8":71,"12331b144c65":34,"12331d1c5591":[34,37],"12424d1c4491":34,"174785aa":17,"19a0":[15,52],"1a62":[13,52],"1a9356ba":[13,15,52],"1bd100b8059e":[13,52],"1c8f60e4":71,"1f3567aa":65,"1px":50,"1st":51,"20adr":71,"20c57d4f41cf51f2db44165eb058b3b2":12,"20employe":66,"20or":15,"20titl":66,"20uuid":15,"20where":[66,71],"22000a1c4e22":66,"22000a1c5a67":[66,71],"2440ca58":65,"2482a1c5":65,"249f":20,"2ac6":2,"2ac8":2,"2d00":65,"2d21":2,"2e1db7299b0a667ed80e674a0ef9d653":5,"2nd":51,"31847b9a":[
13,52],"3192ac6a":[13,52],"327b527f":[34,37],"328b526e":34,"328fe64a":[15,52],"335b527f":[34,37],"33dd0563":[34,37],"3400ba10":[2,37,65],"348388de":64,"34e26bc9":65,"3500ba10":37,"37f3":65,"382d0991":64,"38dc":15,"3bee":42,"3c1e":64,"3d1a9356ba":15,"410b213a":[5,64],"411c466c4f2c":12,"417f":[17,66,71],"4353136f":71,"438a1ca1":8,"477d":66,"48c92c73":37,"496ca1d42ce7":[13,52],"49ff":65,"4a1edb70":[15,52],"4d2664c8e0c3":66,"4f511f12a386":42,"5005a0fa":66,"503f17da":24,"50gb":1,"5111c463":65,"5373d7165c2d":58,"53fe3700":[13,52],"563f5d96":65,"58606d0a":[18,19],"58e8":[66,71],"5ae1fa7a":[13,52],"5bb76bca":[13,15,52],"5bcc47ca":[18,19],"5bd5fa5f701f":52,"5c0c1789":[2,30],"5de0bb69":37,"5f4a65c16193":[15,52],"5wugd":57,"61c9":65,"62de5d97":24,"62fd53c78ce7":63,"65c8":37,"6640a601":2,"6715d5ef47a6":[15,52],"67cb":66,"698b":66,"699740088e05":6,"6a42":65,"6b07e44495ef":64,"6be0003c809b":[13,52],"6c56ffda":17,"6fbc8157":66,"6ldstnesaaaaakhdvglhmmu86_eoyxsjjqqd1ipz":[34,71],"74bb":64,"74d2d7da"
:66,"78c54a82":71,"7a0a1cba":42,"7bf47435":2,"7fb8d891":66,"802f":66,"81581bbaf055":[13,15,52],"8272c9b0":12,"83ceb9965c26":66,"83de":66,"83e9b7ea":[15,52],"84a5":71,"84c0":65,"84df":[15,52],"87b9":37,"884d":71,"89ab":[13,52],"8a2a":[15,52],"8a4c":63,"8ae3":42,"8ae8a6ea":71,"8bde":[18,19],"8cef":12,"8d05e96f700d":[13,52],"8d5c":24,"8dd1801e534c":17,"8e0cd3866ee20746c99e9a9825f38ad8":2,"8ea8":17,"903f":[13,15,52],"90f823ba15655b8cc8e3b4d63377576f":66,"917d":[15,52],"924d":10,"92c3":2,"92e2":12,"9501cda1":2,"95c8":[34,37],"96f6":65,"98b9":37,"9953085ea376":[5,64],"999e12039f87":52,"99a7":58,"99fd":17,"9a18":42,"9c1b":66,"9ce3":[15,52],"9d3a":6,"9de5":64,"9e75":17,"9e92":[15,52],"9efc8ad529d8":64,"9f80":20,"9ff6c621a7a4":[13,15,52],"9ffc":65,"____usergrid":26,"__weak":39,"boolean":[10,37,48,51],"byte":39,"case":[9,16,26,29,38,41,46,48,51,52,65,67,69],"catch":52,"class":[1,28,34,39,42,57,60,71],"default":[1,10,11,12,13,14,15,20,24,25,26,28],"export":[44,47,52],"final":[42,44],"float":10
,"function":[6,29,32,42,59,62,65,66,67,68,70],"import":[23,24,29,30,32,38,41,42,47,55],"long":[10,30,39,48,67],"new":[6,9,13,15,16],"null":[6,42,59],"public":[34,42,44,71],"return":[10,11,12,13,16,19,20,24,27,29,34,37,42,44,48,51,57,58,59,60,63,65,66],"short":[22,65],"static":[26,42],"super":25,"throw":[38,46],"transient":28,"true":[10,12,18,19,24,26,27,28,34,37,39,42,51,59,64,66,71],"try":[22,23,27,34,38,39,46,52,55,59,63],"typeof":59,"var":[9,34,42,59],"void":[39,42],"while":[23,26,29,30,32,38,41,42,43,46,48,63,64],a065:65,a0dd:24,a0e5:[5,64],a0f7:65,a166:[5,6,8,13,15,18,19,24,52,63,64,66],a24f:[13,52],a407b1e7:[66,71],a51b:[15,52],a554b7fbd57a:24,a5c5:64,a668717b:66,a694:[18,19],a6e3:66,a71c:63,a72a:[13,15,52],a7e008061e10:[18,19],a7f7:[5,6,8,13,15,18,19,24,52,63,64,66],a9c1:52,abbrevi:[12,16,24,44],abil:[20,22,32,69,70],abl:[16,24,26,28,38,39,41,47,61,62,65,70,71],about:[0,10,16,22,23,24,25,26,32,34,36,37,38,39,41,42,43],abov:[5,6,19,26,27,28,38,41,42,47,64,65],ac46:[66,71],acce
pt:[4,40,42,57,63],access:[2,13,14,15,16,19,21,22,23],access_token:[27,51,56,57,58,59],accessid:1,accesstokenrespons:25,accesstokenttl:58,accomplish:[39,60],accord:57,account:[12,15,16],achiev:69,acquaint:65,acquir:25,across:[8,16,39],act:[12,65,68],action:[2,5,6,7,8,12,13,14,15,16,17,18,19,24,25,26,32,34,35,37,38,39,47],activ:[5,10,12,18,19,20,22,24,25,26,28,30],activit:34,activityfe:25,actor:[34,37,51,65],actual:[16,38,41,47],add:[1,9,14,15,16,21,22,23,25],addit:[8,16,22,25,32,34,44],addobject:52,address:[12,24,26,34,37,38,41,44,48,51,57,71],addrol:25,adjust:[11,64],admin:[21,22,23,25,26,27,28],admin_password:57,admin_usernam:57,admin_users_require_activ:[26,28],admin_users_require_confirm:[26,28],admingmail:34,administr:[26,27,30,32,35,37,48,57,61,62,64],adminus:[34,37,51],adomain:71,adopt:[32,49],advantag:32,advertis:20,advis:61,ae1f:17,aec3:65,afad:65,affect:58,after:[6,10,24,27,29,38,39,41,42,47,57,59,61,64,68],again:[26,34,38,46],against:[18,28,35,56,57,61,63],aggreg:8,air:14
,aizasyckxotbq7a9gojsslqzlod_yjefxxxxxxx:40,alert:[20,29,39,42,66,67],alerttext:39,alia:[64,71],all:[0,6,8],alloc:[39,42,52],allow:[7,12,20,24,26,28,30,32,37,39,42,44,47,48,59,62,63,64,65,66,67,69,70,71],almost:70,alon:[38,41],along:[11,16,38,42,46],alreadi:[15,16,22,26,38,39,40,42,48,51,52,59,61,68],also:[1,2,6,7,8,11,13,15,16,21,27,28,30,32,34,35,37,38,39,40,41,42,47,48,51,57,59,60,61,63,65,66,67,68,69,71],alter:64,altern:[12,13,66,67],although:[13,15,34,39,65,66,71],alwai:[30,39],amazon:1,amazonaw:26,amount:[11,62,65],amuramoto:[5,15,52,58],analysi:32,analyt:22,analyz:[32,56,57,61,62],android:[24,25,29,31],androiddev:40,androidmanifest:47,anew:[38,46],ani:[5,6,8,10,12,14,15,16,20,28,29,30,32,34,36,39,42,47,51,55,56,57,58,61,62,63,64,65,66,68,69,70,71],annot:33,announc:43,anonym:[48,65,71],anoth:[12,16,23,38,39,41,46,47,56,65,68,69,71],answer:71,ant:63,anuff:50,anyon:[62,65],anyth:26,anytim:65,anywher:11,apachecon:50,apidocgener:0,apige:[24,38,39,42,43,44,47,50,52,66],apigeeapsdes
tin:39,apigeeapspayload:39,apigeecli:[42,52],apigeeclientrespons:[39,42,52],apigeecollect:52,apigeedatacli:39,apigeedataclientcompletionhandl:39,apigeemobileconfig:58,apikei:[40,59],apirequest:52,apirespons:42,apiresponsecallback:42,apn:25,app1:51,app2:51,app:[2,4,5,6,7,8,12,13,14,15,16,17,18,19],app_id:[15,51,65,66,71],app_nam:[35,58,60],app_uuid:[14,16],appdata:25,appdeleg:[39,42,47,52],appear:[19,28,40,44,51,65,68,69],append:[8,9,13,16,20,39,56,59],appid:[51,59],appl:[25,32],appledev:47,applenotifi:40,appleopt:42,appli:[24,28,58,61,63,64,69,70,71],applic:[2,4,5,6,7,8,12,13,14,15,16,17,18,19,20],application_client_secret:57,application_clientid:57,application_info:37,applicationdata:51,applicationdidbecomeact:42,applicationid:[34,37,42,51],applicationnam:[2,5,6,8,12,13,14,15,16,17,18,19,24,51,52,58,63,64,65,66,71],appnam:[9,42,47,57,59],appropri:[30,39,40,42,48,59],approv:[26,28],appservic:42,aps_develop:44,apspayload:39,arbitrari:[24,69],architectur:[14,26],area:[22,23,34,39,44,5
5,71],aren:[14,16],arg:[1,35,37,65,66],argument:[1,42],arm:61,around:[0,16],arrai:[10,12,14,15,16,19,24,51,52],arthur:[17,18,19,69,70],articl:[12,13,15,56,64],asc:11,ascend:11,ask:[12,47],aspect:[7,32],asset1:2,asset:1,assets_id:2,assign:[6,25,30,32,48],assist:44,associ:[5,10,13,19,20,21,24,30,32,37,38,39,40,41,42,44,47,48,51,52,55,57,58,60,62,64,66,68,70,71],assum:[16,28,42,47,56],async:25,asynchron:25,atistophan:34,atom:15,atop:47,attach:[4,5],attack:[55,61],attempt:[37,51,56],attribut:14,audienc:31,audio:[5,32],auth:[26,28,40,44,48,59],authent:[13,15,23],author:[27,36,40,42,44,56,58,59,65,70],author_uuid:16,authorid:[14,16],authorimag:16,authornam:16,authoruuid:16,authrespons:59,auto:[26,28],automat:[5,6,13,15,21,22,28,30,32,33,51,57,59,60,63,64,65,69],avail:[13,15,20,22,24,27,32,38,40,42,52,57,68,70],avatar:[12,24,65,66,71],avoid:[16,68],awai:16,awar:[10,20],awssdks3binarystor:1,b0c6:66,b11217fc:6,b1f7:[13,52],b24e:6,b2bd:66,b2e4:15,b31d:58,b36a:[2,30],b379:[5,64],b3aad0a4:52,b3
u68vghi6fmeekn9wlogtzz0a:35,b3u6aaabmqz:57,b3u6zuz5_u8i:35,b4c6:2,b690:66,b6dd:65,b77ec8addc0d:66,b90c:66,b93d:71,baa:[34,37,39,40,44,55],back:[14,16,27,31,32,42,49,68],backend:[12,25,30,39],backslash:39,bad:[37,57,62],badg:[39,42],banner:7,bar1234b:71,bar:[24,31],barnei:[66,69],base:[0,13,20],baseurl:42,batch:11,baz:24,bcc1:8,bcf7:[2,34,37,65],bcf8:[34,37],bd397ea1:63,be04:[13,52],be08a5f9:37,be09a5f9:37,bean:1,bearer:[27,40,56],beca:37,becaus:[14,20,23,26,38,46,51,57,61,62,65,68],becom:[11,12,20,26,32,44,65,66,67],been:[6,16,38,39,42,46,47,51,56,59,60,61,65],bef8:[34,37],befor:[0,1,22,23,25,29,38,39,41,42,44,46],begin:[8,11,25,36],behalf:57,behav:68,behavior:32,behind:[22,48,59],belong:[27,30,39,48,65,67],below:[13,14,15,16,26,28,34,38,39,41,47,52,53,59,65,66,68,71],beneath:68,benefici:29,benefit:[14,26],besid:64,best:[11,12],better:[16,57,62],bewar:28,beyond:65,bike:10,bin:28,binari:[32,56,57,61,62],binarystor:1,bit:14,blank:[44,64],block:29,blog:64,blue:42,board:68,boat:10,boavi
jt0oyrkjf:35,bodi:[6,16,34,35,37,39,51,58,65,66,71],book:[11,32,52],bool:42,bootstrap:28,border:50,both:[6,14,17,28,29,30,39,42,49,51,62,70],bounc:16,bouncer:16,bounci:[14,16],box:[21,23,39,47,64,68,70],bracket:15,bread:[13,15,52],brief:[29,59],broad:[56,57,62],brows:31,browser:[26,34,38,41,59],bucketnam:1,bug:31,buildcurl:59,built:[16,24,26,47,65],bundl:[42,47],busi:20,button:[7,21,23,34,38,41,44,46,47,64,68,71],button_click:[6,8],c2v7n61dy90mcdg78xixprxfdq:37,c2v7wedxiutzwekwdyslct_lydfvmmn:37,c5e707256e71:[15,52],california:[34,66,67],call:8,callback:[29,42,59],campaign:32,can:[0,1,2,4,5,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,26,27,28,29,30,32,34,35,36,37,38,39,40,41,42],cancel:25,cannot:[13,15,24,29,30,33,62],capabl:61,captcha:[34,51,71],captur:[12,16,20,32],car:10,care:[41,43,44],carefulli:62,carri:[36,40,47],cassandra:[14,16,25],cast:50,castl:[14,16],cat:27,catalina:28,catalog:32,categori:[14,34,37,51],caus:[0,15,51],caution:58,cautiou:[56,57,62],ccc:50,cd0c:[2,34,37,
65],cd0d:[34,37],cd789b00:66,cd796d0a:66,cdf1ce04c1c0:12,cdn:32,cede5b7:37,cede5b8:37,cell:0,center:[20,38,41,47],central:[0,1],cer:44,certain:[15,16,30,39,60,70],certif:[25,38,40,41],certsigningrequest:44,cf3e981c:34,cf4d981c:[34,37],cf9b:8,cfed:[18,19],chain:6,challeng:[24,34,51,71],chang:[0,1,25,26,28,30,47,51,56],channel:59,channelurl:59,charact:[11,65,71],characterist:[41,42],charset:[34,71],check:[23,26,27,28,42,47,59,62,63,64,65],checkbox:64,checksum:[2,5],chicago:71,choic:47,choos:[16,39,40,44],chose:47,circl:[32,65],circumst:60,cite:15,citi:[11,34,71],clara:50,classpath:1,clean:[0,26,27,28,34],cli:26,click:[7,16,21,23,36,38,39,40,41,44,46,47,64,68],client:[9,11,13,14,15,16,24,25,26,28,29,32,34,35,36],client_credenti:[35,51,57],client_id:[35,37,51,56,57,59],client_secret:[35,37,51,56,57],climb:16,clone:[0,26,28],close:47,closer:16,cloud:[1,4,5,32,38,41,44,47],clue:26,cluster:[26,28],cluster_nam:28,cn0wtdxxkxmqlgzvtmubcp20fulczq:57,code:[1,11,16,24,25,26,27,29,31,32,33,38,39,
41,42,43,44,46,47],codesign:47,coffe:14,colleagu:65,colleciton:52,collect:[4,5,12],collection_nam:13,collectionid:51,color:42,column:[14,16],com:[2,4,5,6,8,12,13,14,15,16,17,18,19,20,24,26,27,28,30,34,35,37,39,40,42,44,47,48,52,57,58,59,60,63,64,65,66,68,69,70,71],combin:[16,33,38,39,41,61,71],come:[23,25,26,28],comma:[12,39,52,59,63],comma_separated_list_of_permission_nam:59,command:[0,22,26,27,28,47,59,66],comment:[32,42,65],commit:0,committ:49,common:[12,61,65,71],commonli:64,commun:[41,43,68],compani:[36,37,68],compar:[12,41],comparison:64,compil:[47,56,57,61,62],complet:[12,25,26,29,30,32],completedsuccessfulli:[39,42],completemsg:51,completionhandl:39,complex:[15,16,25,32],compliant:32,complic:26,compon:[30,32],compromis:56,concept:[14,22],config:28,confim:51,confirm:[26,28,34,37,38,46,51,68],confirm_email:[34,37,51],conflict:68,conform:10,conjunct:[32,70],connect:[0,2,5,12,16],connected_collect:[17,18],connected_ent:[17,18],connecteeid:42,connectent:42,connectentitiesasync:42
,connecting_collect:[17,18],connecting_ent:[17,18],connectorid:42,consid:[38,46,57,61,64],consider:[56,57,62],consol:25,constrain:14,constructor:1,consult:22,consum:[32,65],contact:44,contain:10,containslook:11,containswil:11,content_typ:4,context:[1,32,42],contextu:32,continu:[11,29,44,68],contrast:[16,69],contribut:[25,31],contributor:[31,49],control:[32,41,44,58,61,64,71],conveni:[9,56,66,68],convent:30,cooki:59,coordin:39,copi:[0,16,26,44,68],core:[27,28,32,47],cores:28,correct:[33,38,46,48,59,68],correctli:28,correl:[38,41,42,46],correspond:[12,13,15,24,30,42,44,47,51,52],cost:32,costli:16,could:[2,11,16,29,41,42,56,57,61,62,66,67,69,70],couldn:42,count:[7,8,12,13,14,15,51,52,65],counter_nam:[6,8],coupl:[31,41],cpu:41,creat:[2,5],createact:25,createadminus:25,createcollect:52,createent:[25,29],createev:25,creategroup:25,createnotif:25,createorg:25,createus:25,creation:[48,51,58,67],credenti:[25,26,28],criteria:32,cross:65,css:[34,47,71],cumul:6,curiou:22,curl:[4,5,6,8,9,11,12,1
3,15,17,18,19,20,27,28,34,35,37],current:[6,13,20,30,31,33,38,42,51,63,65,71],custom:[9,13],custom_id:9,custompayload:39,d0d7d0ba:12,d16344f5a0e1:20,d20976ff:66,d28c:24,d503:[2,30],d7a8:[15,52],d86a:12,d878de4r:58,d87edec7:65,d9693ec3:65,da448955:65,da4a50dc:15,da67:71,da71:71,da83:65,dai:[7,8,58],daili:8,dashboard:[38,59],data:1,databas:[11,14,16,20,25],datacli:[9,39,42,52,57,60],date:[10,39],dave:50,david:50,db1e60a0:[17,66,71],dbf5228024a7:[18,19],dbm:[11,12,14,16],dc5d478e9c029853fbd025bed0dc51f8:24,debug:[38,41,42,47],decim:10,declar:42,decompil:61,dedic:6,defin:[7,14,15,23,30,42,52,55,57,58,63,64,65,66,70,71],definit:[51,63],deflat:40,degre:[39,58],deleat:51,deleg:52,delet:[11,12],deletecollect:52,deleteent:52,delimit:[10,63,67],deliv:[32,39,44,47,51],deliveri:[32,39,51],denot:[66,69],depend:[24,40,42,43,66,67],deploi:25,deploy:25,desc:11,descend:11,describ:[11,12,13,15,16,20,24,36,40,42,44,47,48,55,56,57,59,64,66,68],descript:[4,5,6,8,11,13,14,15,17,18,19,25,30,34,35,36,37,39
,44,48,51,52,57,62,63,64,65],design:[14,16,20,26,32,33,47,65,66,67,68,70],desir:44,desktop:[40,44],destin:[1,39],destinationsingledevic:39,destroi:60,detail:[13,15,22,30,32,34,35,36,37,38,39,40,41,51,57,59,64,65,66,69,71],detect:[5,20],determin:[20,33,65,71],dev:[28,38,40,41],develop:[10,20,23,30,31,32,38,39,40,41,44,47,61,68,70],devic:[5,18,19,20,21,24,25,30,32,38],device_id:39,deviceid:[39,42,51],deviceregistrationcallback:42,devicetoken:42,deviceuuid:42,dfr4d5m1mjmoeeogvpncm:58,diagram:[38,41],dialog:[21,23,34,44,47],did:15,didfailtoregisterforremotenotificationswitherror:42,didfinishlaunchingwithopt:42,didregisterforremotenotificationswithdevicetoken:42,differenti:32,dimens:70,diner:11,dino:[24,69],dir:0,direct:[0,16],directli:[0,35,44],directori:[0,26,27,28,47,49,59,68],disabl:[23,26,34,37,48,51],disk:44,displai:[8,11,20,47,48,51,59,64,65,67,68],displayemail:51,displayemailaddress:[34,37],displaymessag:42,displaynam:[34,37,51,65],distanc:20,distance_in_met:20,distinctli:31,dist
ribut:[14,16,61],div:[34,71],dk88fh4r:19,doctyp:[34,71],doe:[0,15,24,30,38,46,48,51,52,56,57,58,59,65,66,71],doesn:[14,16,23,38,42,46,47],dog:[15,24,29,66,67,69],dogcreatecallback:29,doge:[66,67],domain:[44,59],don:[26,38,41,43,47,61,65,71],done:[0,26,28,32,40,42,44,51,59,61,62,71],dot:[6,10],doubl:[28,39,44],down:[10,21,31,39,42,44,64],download:25,drive:[1,32],drop:[21,39,44,64],dropdown:21,dskiptest:[26,27,28],dtd:[34,71],due:[11,12,16,57],duplic:16,durat:[2,5,6,8,12,13,14,15,16,17,18,19,24,26,34,35,37,51,52,58,60,63,64,65,66,71],dure:[61,64],duti:64,e13743a7f1db7f4246badd6fd6ff54ff:71,e694:66,e7127751:66,e7d0:65,e8f5:[15,52],e94123890c7a:[15,52],e978:71,e97b:12,each:[0,6,7,8,10,12,13,14,15,16,20,23,24,30,34,38,39,41,44,48,51,52,53,59,62,64,65,66,71],earlier:[38,40,41,47],eas:32,easi:[0,32,70],easier:[9,11,12,16,23,24,38,61,66,69],easiest:64,easili:[6,20,30,32,61,70],east:26,easy_instal:0,eb20e5bce407:17,ebc6f49d1fc4:[15,52],ec39:24,edit:[0,1,25,26,44],edort1:34,ee912c4b:10,ef0b:[
15,52],effb:[15,52],effect:32,effici:[12,16],either:[1,13,17,51,56,59,64],elasticsearch:28,elev:61,elimin:[32,56,61],els:[29,42,59],email:[12,24,26,27,28,30,34,37,41,44,48,51,57,65,66,68,71],email_address:[24,71],embed:28,embed_cod:50,employe:66,empti:[13,52,68],emul:[38,41],enabl:[20,26,32,38,41,42,43,44,47,48,59,61,64,65],enabledremotenotificationtyp:42,enabledtyp:42,enclos:[12,51],encod:[9,11,12,15,40],end:[8,32,33,52],end_tim:8,endpoint:[0,6,18,25,35,38],engag:[20,32],engin:31,enhanc:20,enough:[23,47],ensur:[10,16,24,32,38,39,41,44,47,55,57,61],enter:[21,23,34,39,40,44,47,59,64,68,71],entir:[11,39,51],entit:16,entiti:[0,2],entity_nam:15,entity_typ:[15,52],entity_uuid:15,entityid1:51,entityid2:51,entityid:[51,52,64],entityproperti:51,entitytyp:[34,37,51,64],entri:[11,39,59],environ:[22,40,47,61],equal:[10,12,42,58],equiv:[34,71],err:[29,42,59],error:[6,25,28,29,37],errorcod:51,errormessag:51,escap:[39,52],essenti:[47,70],establish:[51,65,70],etag:[2,5],etc:[31,48],evalu:26,even:[
8,11,16,26,30,41,56,57,61,62,69],event:6,everi:[8,9,24,30,56,61,62,64,66,67],everyth:[0,24],exact:[20,70],exactli:11,examin:[8,61],exampl:[0,1],except:[15,38,42,46,56,61],exchang:44,execut:[9,11,12,28,29],exhaust:61,exist:[5,6,15,16,20,26,37,42,48,51,52,58,59,65,66],expect:[10,20,34,37,43,52,70],experi:[14,20,32,70],experiment:[23,55],expir:25,expires_in:[51,57],explain:[0,26],explan:29,explicit:44,explicitli:[42,56,60,64],expos:27,express:11,extend:69,extens:68,extern:49,extract:[26,27,28,56,57,59,62],f18e8f6fb3bc:71,f315e5aa568a:[15,52],f322:52,f34f4222:[5,6,8,13,15,24,52,63,64,66],f399:65,f3a8061a:[15,52],f3aa:65,f3be262a:[15,52],f3teeg:35,f42752aa:52,f8zemolceecubwbqvsaaca:57,f_gubelxeecfrgbqvsaaca:57,facebook:[24,25,32],facebookaccesstoken:59,facebooktoken:59,factor:26,fail:[38,39,42],failur:[14,51],fals:[10,26,28,34,37,51],famili:[14,20],familiar:[16,22],faq:26,far:21,fast:14,favorit:[28,41,42,71],favoritecolor:42,fb_access_token:[48,59],fbasynchinit:59,fbasyncinit:59,fc4d:65,
fdd3:37,fe80:34,fe90:[34,37],featur:[16,20,22,24,25],feed:[5,12,18,19,24,25,32],feel:28,few:[11,20,38,43,68,70],ffd79647:65,field:[1,11,15,32,34,39,40,44,51,64],fieldset:[34,71],file_loc:5,filenam:5,files:1,filter:[12,65,66,71],find:[0,11,20,26,38,42],fine:[28,32],finish:[38,41,51,68],first:[0,11,12,13,16,22,24,28,29,34,38,40,43,44,46,47,48,52,61,64],first_nam:24,firstnam:[11,12,48],fish:27,fit:62,five_minut:8,fix:[38,46],flash:41,flexibl:[14,16,25,30],flow:[59,71],fluffi:27,fobnszewobnioerabnoiawegbrn:[5,64],focu:[24,32],folder:1,follow:[0,2,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,28,29,30,36,38,39,40,41,42,44,46,47,48,51],foo9876a:71,foo:24,footprint:[41,43],forappl:42,force_refresh:28,ford:[18,19,69,70],forgot:71,fork:49,forkei:[39,52],form:[15,30,34,37,39,51,52],format:[0,2,12,13,14,15,20],fornotifi:42,fortun:8,forward:[38,40,41,42,59,66],found:[35,56,57],four:[57,62],foursquar:65,fragment:59,framebord:50,framework:[41,68],francisco:[20,34,66,67],fred:[11,66,69
],free:[28,30,38],friend:[18,20,32,41,64,65],from:[0,4,9,11,12],full:[11,15,23,32,34,36,38,41,47,56,57,61,62,64,69],fulli:[24,28,52],further:[24,29,36,42,48,56,59,61],furthest:[11,20],futur:[15,61],g9qgaaaurv_lfq7uu6ayhjjjn7qcrgovnvu:58,gain:[56,61],game:[7,41],ganyo:47,gatewai:44,gaufeolxeecfrgbqvsaaca:57,gcm:25,gcm_sender_id:47,gcmregistrar:42,gcmsenderid:42,gener:[0,6,7,24,25,27,28,30,33],geo:25,geocoordin:20,geograph:11,geoloc:11,get:[2,4,8,11,12,13,14,15],getapigeedeviceid:42,getclient:42,getcollect:52,getconnect:42,getdatacli:42,getent:52,getloggedinus:42,getregistrationid:42,getuniquedeviceid:[39,42],getuuid:42,ggkaaqmaggkabge5ffm1aqcadqaq_9ewr_ozeeguwxixowauaqcadqaqablaovoaeeguwxixowauaqa:65,ggkaaqmaggkabge5mlfh7gcadqaqjikhxefqeegw9hixowbregcadqaqjnep6ufqeegw9hixowbrega:65,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz3soh_6qeegvybixoxisvga:37,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz4zbyf6qeegvybixoxisvga:34,ggkaaqmaggkabge7pehcgwcadqaqvj9dljfzeek
g9wloguza3acadqaqvkvrctfzeekg9wloguza3aa:65,git:[0,49],github:[26,31,47,49],give:[6,16,23,24,31,32,41,44,58,63,64,70],given:[15,16,23,30,37,50,51,56,61],gladi:12,gmail:[28,34,65,71],goal:[11,33],goe:26,gold:27,good:[0,23,61],googl:[25,32,34],gool:[38,46],got:[38,41],gotten:[38,41],govern:[55,57,62,66],grain:32,grant:[24,51,56,57,59,61,62,64],grant_typ:[27,35,51,57,58],granular:[6,8],graph:[25,32],graph_async:28,graph_us:28,gravatar:[12,24,65,66,71],great:[32,48,64,66,67],greater:[10,11,58],greatest:62,groovi:0,group:[5,12,14,15,18,19,24,25,30],group_path:39,groupid:51,groupnam:[65,66],grouppath:66,groupproperti:51,gte:10,guarante:29,guest:[23,42,56,61,64,65,71],guid:[9,26,49,52,59],guidanc:47,gzip:40,hacker:[56,57,61,62],had:39,half_hour:8,hand:16,handi:22,handl:[21,32,34,42,70],handlepushnotif:42,happen:[20,41],happi:[0,65],happy_cloud:5,hard:[1,62],hardwar:[38,41],hava:0,have:[0,12,14,15,16,19,22,24,28,30,31,35,37,38,39,40,41,42,47,48,51,57,58,59,61,62,64,65,66,67,68,70,71],head:[
34,71],header:[4,56],heavi:41,height:[50,51,65],hello:65,help:[7,11,14,28,30,32,55,57],her:[16,34,41],here:[2,12,16,20,24,26,27,28,30,41,49,59,65,66,68,71],hierarchi:[6,30,36,37,63,66],high:[14,16,39,41,42,43,55,58],higher:[27,62],highest:[36,37],highlight:16,hike:62,him:27,histori:39,hold:[5,52],home:20,homepag:6,host:[26,28,56,59],hostnam:28,hotmail:37,hour:8,hous:16,howev:[8,11,12,13,15,28,29,30,38,41,47,48,59,61,64,65,68],href:[34,37,71],html4:[34,71],html5:[24,25,38],html:[0,34,44,47,51,59,68,71],htmldisplayemail:51,htmldisplayemailaddress:[34,37],http:[2,4,5,6,8,12,13,14,15,16,17,18,19,20],human:[34,71],hundr:11,hurrai:59,hystrix:28,icon:[44,65,68],idea:61,ident:[16,47],identif:[47,51],identifi:[9,16,30,34,40,42,44,48,52,71],ifram:50,illlustr:42,illustr:[14,38,39,41,42,55],imag:[2,4,5,14,32,38,41,47,51,65],imagemodel:25,imagin:[12,16,39,62],immedi:[32,39,64,71],immut:30,implement:[24,32,38,42,55,56,57,59,62,71],implicit:64,improv:[20,31,32],inact:[42,64],inbox:[48,65,67],inclu
d:[6,11,12,14,15,16,21,22,23,24,30,32,34,38,39,40,41,42,47,51,52,56,57,58,59,61,64,66,71],incorpor:68,incorrect:[24,34],increas:[13,20,32],increment_valu:6,index:[0,10,11,15,28,30,47,68],index_prefix:28,indic:[51,58,65,66],individu:[15,30,58,62],ineffici:[11,12,16],inflat:16,info:[34,51],inform:[4,8,11,12,13,14,15,16,20,22,24,26,30,32,34,36,38,39,40,41,42,44,47,48,49,52,55,56,59,61,65,66,68,69,71],infrastructur:[30,32],ing:65,inher:61,init:[39,52,59],initi:[9,28],initwithobject:52,initwithorganizationid:42,inner:16,input:[34,71],insecur:61,insert:59,insid:24,instal:[0,9,22,24,25],instanc:[26,27,30,42,52,57,60,68],instead:[16,24,32,57,61,62],instruct:[0,26,38,59,68,71],integ:[11,51],integr:[20,24,32,38,59],intend:30,intention:16,interact:[38,46],interest:[8,32],interfac:[26,68],intern:25,interpret:[24,63],intersect:10,intrins:24,introduct:[25,43],invalid:[48,59],invok:[38,41,42],iphon:68,isloggedin:42,isn:[14,22,24,42,55],iso:[34,71],isregisteredonserv:42,issu:[0,2],item:[10,12,13,15
,24,39,52,65],items:13,itself:16,jane:71,jar:[27,47],java:[0,26,27],javascript:[6,9,12,14,24,25,26,29,31,34,38],javscript:29,jdk:[26,27,28],jdoe57:30,jenni:16,jersei:33,jim:34,jin:50,jinm:34,job:64,joex:42,john:[24,30,57,65,66,71],johnson:50,join:16,jpeg:[2,4,5],jpg:[2,5,14,16],json:[10,12,14,15,16,19,24,27,30,34,35,39,40,52,59,65,66,70],json_arrai:15,json_object:15,just:[14,16,17,20,23,24,26,38,41,43,47,65,70],k88dh4f:18,kbundledsoundnamewithext:39,keep:[1,7,9,11,12,23,32,38,41,43,56,57,61,62],kei:[13,15,16,24,25,32,38,40,41,42,44,46],keychain:[44,47],keyspac:[26,28],keyword:15,kid:16,kind:[11,12,16],know:[8,41,44],known:42,kravitz:12,kugclientresponsesuccess:42,label:34,lack:23,lag:29,languag:[10,14,15,24],larg:[0,11,65],last:[5,11,30,37,48,51],lastnam:[11,12,48],lat:39,latenc:29,later:[16,20,39,44],latest:[26,27,47],latitud:[11,20,39],latitude_coordin:20,launch:[8,38,41,42,44,46,47,61],launcher:25,launchopt:42,layer:27,lceecubwbqvsaaca:57,learn:[22,23,25,32,38,41],least:26,leav:[
26,44,64],left:[21,31,39,40,44,47,64,65,68],length:[2,5],less:[10,14,58,65],let:[8,27,32,39,41,64],letter:71,level:[6,8,14,15,21,22,23,25,27,30,32,35,36,37,38,39,42,47,55,56],leverag:[32,68],lib:[26,28,47],librari:[38,41,47],lightweight:70,like:[0,2,5,8,10,14,16,17,18,19,23,26,28,29,32,34,38,39,41,48,59,61,63,64,65,67,68,69,70,71],liked_bi:69,limit:1,line:[0,16,26,27],linear:[14,26],listen:41,live:[23,25,56],load:[27,59],localfilebinarystor:1,localhost:[26,27,28],localizeddescript:42,locat:5,log:[6,26,32,38,39,40,42,44,46,47,48,57,59,60,64,65,68,71],login:25,logincredenti:25,loginfacebook:59,loginus:42,logout:25,longer:[11,61],longitud:[11,20,39],longitude_coordin:20,look:[2,8,10,11,16,38,39,41,59,62,65,71],loos:[34,71],love:16,low:[41,43],lower:6,lte:10,ltixndg0nduxndpvdjb0jwrevls1vcd0xvr3nwt0jrqq:11,lunch:41,mac:[38,41,44],machin:[44,47],made:[19,24,63,69],magic:16,mai:[0,6,9,13,15,23,30,39,40,42,47,51,60,61,64,66],mail:[26,28,30,66],mailer:[26,28],mailto:[34,37],main:[0,1,59],mai
ntain:[16,59],mainten:31,make:[0,9,11,12,14,16,22,23,24,28,29,30,32,36,38,42,46,47,48,56,57,59,60,61,65,68,69,70,71],makefil:0,maker:14,malici:[55,56,57,62],manag:[5,11,12,22,23,25,26,27,28,30,31],mandatori:[1,48,66,67,71],mani:[7,11,12,14,16,20,23,30,39,64,70],manual:[65,69],map:14,marginheight:50,marginwidth:50,market:41,massoddb:65,match:[11,15,28,38,46,47,52,63,71],matter:[32,38,41,47],mattress:14,maven:[0,26,27,28],max:28,maximum:[11,39,58],mayb:16,mean:[10,14,15,16,23,29,30,39,55,56,61,69,70],meant:65,meanwhil:29,measur:55,mechan:68,meet:26,member:[30,34,36,47,51,62,65,66,67],meme:[66,67],memori:[20,41],menu:[21,35,38,41,44,64,68],messag:[6,25,26,28,32,34],message:25,meta:[34,71],metadata:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,25,34,37],metadataproperti:51,meter:[11,20,39],method:[6,8,11,15,19],mfdsadfdsaoabl:65,middl:48,middlenam:48,might:[7,8,9,11,12,14,15,16,22,26,28,30,32,35,38,39,41,42,44,46,61,64,66],mile:20,milk:[13,15,52],million:32,millisecond:[30,51,58],mimic:33,m
ind:[1,9,11,12,16,20,23,38,41],minim:[16,26,28,33],minimum:[30,35,37],minu:16,minut:[8,32],mix:24,moab:65,mobil:[14,16,20,23,25,35,38,40,41,42],model:14,modern:[30,65],modif:[48,67],modifi:[2,5,6,12,13,14,15,16,17,18,19,20,24,30,34,37,47,48,51,52,58,64,65,66,67,71],modul:6,monitor:32,month:[8,32],more:[4,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,30,32,37,38,39,40,41,42],morn:8,most:[8,11,16,22,28,29,30,31,32,35,61,65,69,70,71],mountain:62,move:[42,47],much:[10,14,16,61,68],multi:[15,52],multipl:[0,11],must:[0,10,15,16,27,28,30,37,39,40,41,42,44,47,51,52,56,58,64,65,66,68,69,71],mustach:0,mvn:[26,27,28],my_app:[14,16,48,59],my_org:[14,16,48,59],myadmin:27,myapp:[12,27],myasset:2,mycollect:10,myfirstorg:27,mygroup:[65,66],mynewapp:[66,71],mynewgroup:66,mynewpassword:34,myorg:[12,66],mypassword:27,myself:[16,26,28],myuser:27,name:[1,2,4,5,6,8,10,11,12,13,14,15,16,17,18,19,20,21,23,24,26,27,28,30,34,35,37,38,39,40,41,42,44,46,47,48,51,52,56,58,59,61,63,64,65,66,67,68,71],narrow:[10,6
4],nativ:[0,14,42,47],natur:[11,12],nav:[39,40,44],navig:[26,27,28,47],nearbi:20,nearest:[11,20],nearli:16,necessari:[16,32,38,41,42,47,64],need:[0,1,2,8,9,11,12,13,14,15,16,21,22,24,26,28,30,31,32,34,35,36,37,38,39,41,42,43,44,47,48,56,57,59,60,61,62,64,65,66,68,69,70,71],neg:6,nest:[15,30,52],net:[24,50],network:32,never:[23,25,35,56,57,58],new_password:[34,71],new_review_uuid:16,newdevicetoken:42,newent:52,newli:[44,51,63,65],neword:39,newpassword:[34,51,71],next:[11,13,21],nil:[42,52],node:[24,26,28,52,53,57,60],nodej:28,non:[14,16],none:64,normal:[4,15,16],nosql:[11,12,14],notat:[10,12,14],note__:71,notic:[5,16,19,59,65],notif:[20,22,25,26,28,30],notifc:51,notifi:[25,30,38],notificationid:51,notificationupd:25,notifier_nam:39,notifiernam:42,notify_sysadmin_of_new_admin_us:[26,28],notify_sysadmin_of_new_organ:[26,28],now:[26,27,28,39,41,47,59,68],nsarrai:52,nsdata:42,nsdictionari:[42,52],nserror:42,nsexcept:52,nslog:42,nsmutablearrai:52,nsmutabledictionari:[39,52],nsstring:[39,5
2],number:[6,7,11,12,13,14,30,32,38,41,44,46,47,51,61,64,65,71],numebr:51,ob5ko:58,object:[5,9,10,12,14,15,24,25,30,32,34,35,37,39,42],objectforkei:42,objectproperti:51,objecttyp:[34,37,51],objectuuid:51,obtain:[48,56,58,59,61],occur:[7,20,38,46],occurr:11,octal:10,off:[26,39,42,59],offer:[20,23,24,32,61,69,70],offici:68,often:[8,10,16,30,32,65],old:[34,51,71],old_password:[34,71],oldpassword:[34,71],omit:12,onc:[0,11,16,26,28,29,38,40,41,44,46,47,59,61,64,71],onexcept:42,ongo:[32,65],onli:[5,9,11,12,16,21,23,24,26,28,29,30,35,51,55,56,57,58,61,62,63,65,66,69,71],onlin:65,onrespons:42,oop:59,opdata:52,open:[14,16,23,25,28,31,47],optim:[11,12,14,16],option:[5,9,26,28,30,42,47,52,56,59],order:2,orderl:11,org:[1,2,4,5,6,8,12,13,15,17,18,19,20,24,26,27,28,34,35,37,39,40,42,47,51],org_client_secret:57,org_clientid:57,org_id:[15,51,65,66,71],org_nam:[35,37,58,60],org_uuid:[35,37],organ:[0,2,4,5,6,8,12,13,14,15,16,17,18,19,21,23,24,25,26,27,28],organizationnam:58,organizations_require_acti
v:[26,28],orgid:51,orgnam:[9,42,47,51,57,59],orguuid:51,origin:[44,66],originali:67,oscar:27,our:[0,9,11,12,26,27,28,31,39,49,52,70],out:11,outbox:65,outgo:28,outlin:5,output:[42,59],over:[8,41,58],overrid:[28,42,58],overview:[11,12,25,30],overwritten:15,own:[7,23,32,39,51,59,63,65,66,67,71],owner:[2,37,51,65,66],p12:[38,40,41],p12certif:40,packag:[26,59,68],page:[22,23,27,34,39,40,44,57,59],pair:[13,15,39,52],pane:[47,64],param:[2,5,6,8,12,13,14,15,16,17,18,19,24,42,52,58,63,64,65,66,71],paramet:[4,5,6,8,9],pars:59,part:[9,11,12,16,20,24,39,44],partial:[11,30],particular:[10,16,39,65],particularli:[14,16,63,65,69],partit:22,pass:[11,35,42],passiv:70,password:[24,25,26,27,28],path:[2,5,6,12,13,14,15,16,17,18,19,20,23,24,25,26,28,34,37,38,39,46,47,51,52,59],path_to_imag:16,pathnam:59,pattern:[42,51,63],payload:[39,47,51],peak:8,peopl:[7,30,65,66,67,68],per:[13,14,59,64],perceiv:29,perform:[4,5,13,14,16,18,29,32,34,36,38,48,56,57,62,63,65,67,71],period:[7,8,20,64],permiss:[5,12,18,19,
23,24,25],persist:[24,27,28],person:[16,20,31,34,37,44,68],perspect:30,pertin:36,pet:27,phone:12,phone_numb:12,phone_typ:39,phonegap:25,photo:[20,70],physic:20,pictur:[4,5,12,20,24,48,51,66,71],pinterest:65,pip:0,place:[14,15,16,26,30,52,57,71],plai:[7,22,41],plain:4,plan:16,platform:[32,38,39,40,41,42,43,44,47],pleas:[10,34,39,56,58,64,69],plenti:0,plug:[38,42,47],plugin:[42,47],plural:[13,15,30,51],png:16,point:[10,11,14,20,28,29,32,33,59,68],polici:[49,61],pop:68,popul:[66,68,70],popular:[32,68],popup:64,port:[26,27,28],portal:[21,22,23,25,26],portion:[39,51],pose:58,posit:[11,20],possibl:[16,38,41,42,46,61,69],post:[2,5,6,7,13,15,16,17,18,21,23,24,25,27,34,35,36,37,39,40,42,47,51],postal:11,potenti:11,power:[20,27,30,32,50,57,62,69],practic:[11,12],preced:[12,16],precis:65,predefin:30,prefer:[11,24,26,38],prefix:35,prepar:61,present:[16,25],preserv:66,press:[38,46,47],prevent:[11,12],preview:0,previou:[44,65,68],previous:68,price:[10,13,15,52],primari:[16,48],prior:61,privaci:65
,privat:32,privileg:37,probabl:[0,16,26,29],problem:28,process:[27,30,34,41,42,51,70],product:[14,16,21,23,25,26,30,39,40,44,55],product_uuid:[14,16],productid:16,productimag:16,productnam:16,productuuid:16,profil:[20,32,38,41],program:29,programat:21,programmat:[25,35],progress:39,project:[0,27,33,36,37,38,41,44,46,47,49,68],prompt:[26,47,59],prone:65,proof:[34,71],prop:52,proper:47,properit:20,properli:[27,29],properti:[1,4,5,6,9,10,11],properties____:26,property_1:[13,15],property_2:[13,15],property_nam:11,props1:52,props2:52,propti:34,protect:[55,57],protocol:[26,28,59,61],prototyp:59,provid:[6,8,11,13,14,15,20,21,24,28,30,32,34,35,37,39,40,41,42,44,47,48,51,52,53,56,57,59,61,62,64,65,66,68,71],provis:[38,41],proxim:[11,20],pull:[31,41,42],pure:24,purpos:[10,23,26,30,35,64,70],push:[0,20,22,25],pushalert:39,pushapp:44,pushnotif:42,pushtest:47,pushtest_dev:40,put:[5,12,13,15],pw123:26,pwhere:28,python:0,qualifi:24,quantiti:10,query_stat:12,query_str:[66,71],querystat:51,querystr:
52,queue:[39,51],quick:25,quicker:24,quickli:[11,12,16,30,32,70],quitwait:[26,28],quot:[12,39,51,52],radiu:39,raleigh:50,rang:8,rate:16,rather:[5,16,17,18,32,42,44],raw:0,rawrespons:[39,42],rdbm:[14,16],reach:[10,25,41],reactiv:25,read:[9,11,12,14,16,22,43,49,51,65],read_phone_st:47,readabl:16,readi:[11,22,28,68],readm:[0,38,42,49],real:51,reason:[41,66],recaptcha:[34,71],recaptcha_challeng:51,recaptcha_challenge_field:34,recaptcha_respons:51,recaptcha_response_field:34,recaptchaopt:34,receipt:[25,30],receiptid:51,receiv:[11,29,38,41,42,43,44,48,51,67,68,71],reciev:51,reciproc:69,recommend:[26,52,61],record:[30,32],recreat:[38,46],recurs:63,redefin:64,redirect:[26,28,47,59],redirect_root:[26,28],redirect_uri:59,reduc:[12,16],redund:16,regard:[6,30],regardless:15,regid:42,regionnam:1,regist:[25,32,38,40,41],registerdevic:42,registerdeviceforpushasync:42,registerforremotenotificationtyp:[38,41,42],registerpush:42,regis
<TRUNCATED>
[08/50] [abbrv] usergrid git commit: merge
Posted by sn...@apache.org.
merge
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/68befd2f
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/68befd2f
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/68befd2f
Branch: refs/heads/asf-site
Commit: 68befd2f04d03dbd3e9370af89c257a8a28112a1
Parents: 00175cc
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Oct 19 15:13:34 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Oct 19 15:13:34 2015 -0600
----------------------------------------------------------------------
.../index/IndexProcessorFig.java | 36 ++++++--------------
1 file changed, 11 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/68befd2f/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
index 113b539..8a8c8a5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
@@ -49,15 +49,15 @@ public interface IndexProcessorFig extends GuicyFig {
* Set the amount of time to wait when Elasticsearch rejects a requests before
* retrying. This provides simple back pressure. (in milliseconds)
*/
- @Default( "1000" )
- @Key( FAILURE_REJECTED_RETRY_WAIT_TIME )
+ @Default("1000")
+ @Key(FAILURE_REJECTED_RETRY_WAIT_TIME)
long getFailureRetryTime();
/**
* Set the read timeout for processing messages in the queue. (in milliseconds)
*/
- @Default( "10000" )
- @Key( INDEX_QUEUE_READ_TIMEOUT )
+ @Default("10000")
+ @Key(INDEX_QUEUE_READ_TIMEOUT)
int getIndexQueueTimeout();
/**
@@ -65,15 +65,15 @@ public interface IndexProcessorFig extends GuicyFig {
* Received messages will remain 'in flight' until they are ack'd(deleted) or this timeout occurs.
* If the timeout occurs, the messages will become visible again for re-processing.
*/
- @Default( "5000" ) // 5 seconds
- @Key( INDEX_QUEUE_VISIBILITY_TIMEOUT )
+ @Default("5000") // 5 seconds
+ @Key(INDEX_QUEUE_VISIBILITY_TIMEOUT)
int getIndexQueueVisibilityTimeout();
/**
* The number of worker threads used to read index write requests from the queue.
*/
- @Default( "16" )
- @Key( ELASTICSEARCH_WORKER_COUNT )
+ @Default("16")
+ @Key(ELASTICSEARCH_WORKER_COUNT)
int getWorkerCount();
/**
@@ -81,26 +81,12 @@ public interface IndexProcessorFig extends GuicyFig {
* Valid values: TEST, LOCAL, SQS, SNS
* NOTE: SQS and SNS equate to the same implementation of Amazon queue services.
*/
- @Default( "LOCAL" )
- @Key( ELASTICSEARCH_QUEUE_IMPL )
+ @Default("LOCAL")
+ @Key(ELASTICSEARCH_QUEUE_IMPL)
String getQueueImplementation();
@Default("1000")
- @Key("elasticsearch.reindex.flush.interval")
- int getUpdateInterval();
-
- @Default("100")
- @Key("elasticsearch.buffer.time_ms")
- int getBufferTime();
-
- @Default("1000")
- @Key( REINDEX_BUFFER_SIZE )
+ @Key(REINDEX_BUFFER_SIZE)
int getReindexBufferSize();
- /**
- * Flag to resolve the LOCAL queue implementation service synchronously.
- */
- @Default("false")
- @Key("elasticsearch.queue_impl.resolution")
- boolean resolveSynchronously();
}
[11/50] [abbrv] usergrid git commit: Add sourceRegion to
ElasticsearchIndexEvent, fix logging statements,
update sqs/sns client null checks.
Posted by sn...@apache.org.
Add sourceRegion to ElasticsearchIndexEvent, fix logging statements, update sqs/sns client null checks.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/3a7e60b3
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/3a7e60b3
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/3a7e60b3
Branch: refs/heads/asf-site
Commit: 3a7e60b3131e207890354ca5fa84258795296372
Parents: 19d30ea
Author: Michael Russo <mi...@gmail.com>
Authored: Mon Oct 19 17:07:18 2015 -0700
Committer: Michael Russo <mi...@gmail.com>
Committed: Mon Oct 19 17:07:18 2015 -0700
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 9 ++++++---
.../asyncevents/model/ElasticsearchIndexEvent.java | 3 ++-
.../persistence/queue/impl/SNSQueueManagerImpl.java | 9 ++-------
3 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3a7e60b3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index 67d0dab..2b583b5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -498,7 +498,8 @@ public class AmazonAsyncEventService implements AsyncEventService {
//now queue up the index message
- final ElasticsearchIndexEvent elasticsearchIndexEvent = new ElasticsearchIndexEvent( newMessageId );
+ final ElasticsearchIndexEvent elasticsearchIndexEvent =
+ new ElasticsearchIndexEvent(queueFig.getPrimaryRegion(), newMessageId );
//send to the topic so all regions index the batch
@@ -520,12 +521,14 @@ public class AmazonAsyncEventService implements AsyncEventService {
final IndexOperationMessage indexOperationMessage;
if(message == null){
- logger.error( "Received message with id {} to process, unable to find it, reading with higher consistency level" );
+ logger.error( "Received message with id {} to process, unable to find it, reading with higher consistency level",
+ messageId);
final String highConsistency = esMapPersistence.getStringHighConsistency( messageId.toString() );
if(highConsistency == null){
- logger.error( "Unable to find the ES batch with id {} to process at a higher consistency level" );
+ logger.error( "Unable to find the ES batch with id {} to process at a higher consistency level",
+ messageId);
throw new RuntimeException( "Unable to find the ES batch to process with message id " + messageId );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3a7e60b3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/ElasticsearchIndexEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/ElasticsearchIndexEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/ElasticsearchIndexEvent.java
index 207b15e..049c3a5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/ElasticsearchIndexEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/ElasticsearchIndexEvent.java
@@ -35,7 +35,8 @@ public final class ElasticsearchIndexEvent extends AsyncEvent {
public ElasticsearchIndexEvent() {
}
- public ElasticsearchIndexEvent( UUID indexBatchId ) {
+ public ElasticsearchIndexEvent(String sourceRegion, UUID indexBatchId) {
+ super(sourceRegion);
this.indexBatchId = indexBatchId;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3a7e60b3/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index 58b2a4d..3c18992 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@ -543,11 +543,6 @@ public class SNSQueueManagerImpl implements QueueManager {
@Override
public void sendMessages( final List bodies ) throws IOException {
- if ( snsAsync == null ) {
- logger.error( "SNS client is null, perhaps it failed to initialize successfully" );
- return;
- }
-
for ( Object body : bodies ) {
sendMessage( ( Serializable ) body );
}
@@ -557,8 +552,8 @@ public class SNSQueueManagerImpl implements QueueManager {
@Override
public <T extends Serializable> void sendMessage( final T body ) throws IOException {
- if ( snsAsync == null ) {
- logger.error( "SNS client is null, perhaps it failed to initialize successfully" );
+ if ( sqsAsync == null ) {
+ logger.error( "SQS client is null, perhaps it failed to initialize successfully" );
return;
}
[28/50] [abbrv] usergrid git commit: Merge branch 'master' into
remove-inmemory-event-service
Posted by sn...@apache.org.
Merge branch 'master' into remove-inmemory-event-service
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/af11143e
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/af11143e
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/af11143e
Branch: refs/heads/asf-site
Commit: af11143ead2d1bfc539ca2515b87d548614d52d1
Parents: fad8ecd efa96dc
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 16:00:16 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 16:00:16 2015 -0600
----------------------------------------------------------------------
stack/Coverage.md | 21 +++
stack/core/pom.xml | 2 +-
stack/corepersistence/collection/pom.xml | 50 ++-----
stack/corepersistence/common/pom.xml | 16 ++
stack/corepersistence/graph/pom.xml | 94 +++++-------
stack/corepersistence/map/pom.xml | 16 ++
stack/corepersistence/model/pom.xml | 16 ++
stack/corepersistence/pom.xml | 9 ++
stack/corepersistence/queryindex/pom.xml | 38 +++--
stack/corepersistence/queue/pom.xml | 16 ++
.../runAuditVerifyCollectionEntities.sh | 11 +-
stack/loadtests/runDeleteEntities.sh | 13 +-
stack/loadtests/runLoadEntitiesUnlimited.sh | 103 +++++++++++++
.../datagenerators/FeederGenerator.scala | 9 +-
.../usergrid/enums/ConfigProperties.scala | 15 +-
.../apache/usergrid/helpers/Extractors.scala | 24 ++-
.../org/apache/usergrid/helpers/Headers.scala | 7 +
.../usergrid/scenarios/AuditScenarios.scala | 121 ++++++++++++++-
.../scenarios/EntityCollectionScenarios.scala | 38 ++++-
.../org/apache/usergrid/settings/Settings.scala | 150 +++++++++++++++----
stack/loadtests/testConfig.sh | 3 +
stack/pom.xml | 91 ++++++++---
stack/rest/pom.xml | 8 +-
stack/services/pom.xml | 4 +-
stack/test-utils/pom.xml | 2 +-
stack/tools/pom.xml | 2 +-
stack/websocket/pom.xml | 2 +-
27 files changed, 684 insertions(+), 197 deletions(-)
----------------------------------------------------------------------
[24/50] [abbrv] usergrid git commit: Merge branch 'master' into
usergrid-1007-shiro-cache
Posted by sn...@apache.org.
Merge branch 'master' into usergrid-1007-shiro-cache
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2fdf664c
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2fdf664c
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2fdf664c
Branch: refs/heads/asf-site
Commit: 2fdf664c6736f9a92b965e1b708067fc77b75e3d
Parents: fed460b 1393c2f
Author: Dave Johnson <sn...@apache.org>
Authored: Tue Oct 20 17:06:38 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Tue Oct 20 17:06:38 2015 -0400
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 373 +++++++----
.../asyncevents/AsyncEventService.java | 1 +
.../asyncevents/AsyncIndexProvider.java | 16 +-
.../asyncevents/model/AsyncEvent.java | 22 +-
.../asyncevents/model/EdgeDeleteEvent.java | 6 +-
.../asyncevents/model/EdgeIndexEvent.java | 9 +-
.../model/ElasticsearchIndexEvent.java | 51 ++
.../asyncevents/model/EntityDeleteEvent.java | 8 +-
.../asyncevents/model/EntityIndexEvent.java | 6 +-
.../model/InitializeApplicationIndexEvent.java | 4 +-
.../index/IndexProcessorFig.java | 18 +-
.../util/ObjectJsonSerializer.java | 92 +++
.../index/AmazonAsyncEventServiceTest.java | 10 +-
.../index/AsyncIndexServiceTest.java | 2 +-
.../corepersistence/index/PublishRxTest.java | 95 ---
.../usergrid/corepersistence/index/RxTest.java | 108 ++++
.../cache/CachedEntityCollectionManager.java | 147 -----
.../EntityCollectionManagerFactoryImpl.java | 6 -
.../core/astyanax/CassandraConfig.java | 8 +-
.../core/astyanax/CassandraConfigImpl.java | 1 +
.../persistence/core/astyanax/CassandraFig.java | 6 +-
.../usergrid/persistence/map/MapManager.java | 25 +-
.../persistence/map/impl/MapManagerImpl.java | 6 +
.../persistence/map/impl/MapSerialization.java | 27 +-
.../map/impl/MapSerializationImpl.java | 244 ++++----
.../index/impl/DeIndexOperation.java | 4 +
.../persistence/index/impl/IndexOperation.java | 4 +
.../index/impl/IndexOperationMessage.java | 5 +
.../persistence/queue/DefaultQueueManager.java | 12 +-
.../usergrid/persistence/queue/QueueFig.java | 8 +-
.../persistence/queue/QueueManager.java | 8 +-
.../persistence/queue/guice/QueueModule.java | 1 -
.../queue/impl/SNSQueueManagerImpl.java | 621 +++++++++++--------
.../queue/impl/SQSQueueManagerImpl.java | 352 -----------
.../queue/util/AmazonNotificationUtils.java | 4 +-
.../runAuditVerifyCollectionEntities.sh | 11 +-
stack/loadtests/runDeleteEntities.sh | 13 +-
stack/loadtests/runLoadEntitiesUnlimited.sh | 103 +++
.../datagenerators/FeederGenerator.scala | 9 +-
.../usergrid/enums/ConfigProperties.scala | 15 +-
.../apache/usergrid/helpers/Extractors.scala | 24 +-
.../org/apache/usergrid/helpers/Headers.scala | 7 +
.../usergrid/scenarios/AuditScenarios.scala | 121 +++-
.../scenarios/EntityCollectionScenarios.scala | 38 +-
.../org/apache/usergrid/settings/Settings.scala | 150 ++++-
stack/loadtests/testConfig.sh | 3 +
.../services/queues/ImportQueueManager.java | 9 +-
47 files changed, 1589 insertions(+), 1224 deletions(-)
----------------------------------------------------------------------
[37/50] [abbrv] usergrid git commit: Fix cache module to reference
2.1.1-SNAPSHOT parent.
Posted by sn...@apache.org.
Fix cache module to reference 2.1.1-SNAPSHOT parent.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d1ed6452
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d1ed6452
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d1ed6452
Branch: refs/heads/asf-site
Commit: d1ed6452e2b7f8258f0507a9cc8f465017e81b58
Parents: 8a59bec
Author: Dave Johnson <sn...@apache.org>
Authored: Thu Oct 22 16:13:03 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Thu Oct 22 16:13:03 2015 -0400
----------------------------------------------------------------------
stack/corepersistence/cache/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d1ed6452/stack/corepersistence/cache/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/cache/pom.xml b/stack/corepersistence/cache/pom.xml
index f6aec2d..e85f372 100644
--- a/stack/corepersistence/cache/pom.xml
+++ b/stack/corepersistence/cache/pom.xml
@@ -22,7 +22,7 @@ limitations under the License.
<parent>
<artifactId>persistence</artifactId>
<groupId>org.apache.usergrid</groupId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>2.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
[46/50] [abbrv] usergrid git commit: This closes #409 -- invalid PR
Posted by sn...@apache.org.
This closes #409 -- invalid PR
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/5109952c
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/5109952c
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/5109952c
Branch: refs/heads/asf-site
Commit: 5109952c14dd51a5b3b8c4f6926a8a105d3f6af0
Parents: 690110e
Author: Mike Dunker <md...@apigee.com>
Authored: Thu Oct 29 14:00:32 2015 -0700
Committer: Mike Dunker <md...@apigee.com>
Committed: Thu Oct 29 14:00:32 2015 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[13/50] [abbrv] usergrid git commit: Add null check back for batch
sending of SQS w/proper SQS client. Less logging would occur in the event of
batch send when the client is not initialized.
Posted by sn...@apache.org.
Add null check back for batch sending of SQS w/proper SQS client. Less logging would occur in the event of batch send when the client is not initialized.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/fbb6c823
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/fbb6c823
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/fbb6c823
Branch: refs/heads/asf-site
Commit: fbb6c823b7e2a1f5f55ab044942b38d1157970c0
Parents: d8e6572
Author: Michael Russo <mi...@gmail.com>
Authored: Mon Oct 19 21:28:46 2015 -0700
Committer: Michael Russo <mi...@gmail.com>
Committed: Mon Oct 19 21:28:46 2015 -0700
----------------------------------------------------------------------
.../usergrid/persistence/queue/impl/SNSQueueManagerImpl.java | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbb6c823/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index 3c18992..1bb00dc 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@ -543,6 +543,11 @@ public class SNSQueueManagerImpl implements QueueManager {
@Override
public void sendMessages( final List bodies ) throws IOException {
+ if ( sqsAsync == null ) {
+ logger.error( "SQS client is null, perhaps it failed to initialize successfully" );
+ return;
+ }
+
for ( Object body : bodies ) {
sendMessage( ( Serializable ) body );
}
[31/50] [abbrv] usergrid git commit: fix inconsistent errors
Posted by sn...@apache.org.
fix inconsistent errors
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/62f28d40
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/62f28d40
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/62f28d40
Branch: refs/heads/asf-site
Commit: 62f28d40e9eb043a3b03ae5afcc1c2cc73c71d6e
Parents: af11143
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Oct 21 13:33:18 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Oct 21 13:33:18 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 101 +++++++++----------
.../persistence/queue/LocalQueueManager.java | 6 +-
.../persistence/queue/QueueManager.java | 2 +-
.../queue/impl/SNSQueueManagerImpl.java | 8 +-
.../persistence/queue/QueueManagerTest.java | 10 +-
.../services/notifications/QueueListener.java | 2 +-
.../services/queues/ImportQueueManager.java | 5 +-
.../usergrid/services/queues/QueueListener.java | 3 +-
8 files changed, 65 insertions(+), 72 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index a4dd257..ef03bf8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -229,7 +229,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
try {
//signal to SQS
- this.queue.sendMessages( operations );
+ this.queue.sendMessages(operations);
} catch (IOException e) {
throw new RuntimeException("Unable to queue message", e);
} finally {
@@ -241,7 +241,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
/**
* Take message from SQS
*/
- private Observable<QueueMessage> take() {
+ private List<QueueMessage> take() {
final Timer.Context timer = this.readTimer.time();
@@ -291,24 +291,23 @@ public class AmazonAsyncEventService implements AsyncEventService {
logger.debug("callEventHandlers with {} message", messages.size());
}
- Stream<IndexEventResult> indexEventResults = messages.stream().map( message -> {
+ Stream<IndexEventResult> indexEventResults = messages.stream().map(message -> {
AsyncEvent event = null;
try {
- event = ( AsyncEvent ) message.getBody();
- }
- catch ( ClassCastException cce ) {
- logger.error( "Failed to deserialize message body", cce );
+ event = (AsyncEvent) message.getBody();
+ } catch (ClassCastException cce) {
+ logger.error("Failed to deserialize message body", cce);
}
- if ( event == null ) {
- logger.error( "AsyncEvent type or event is null!" );
- return new IndexEventResult( Optional.fromNullable( message ), Optional.<IndexOperationMessage>absent(),
- System.currentTimeMillis() );
+ if (event == null) {
+ logger.error("AsyncEvent type or event is null!");
+ return new IndexEventResult(Optional.fromNullable(message), Optional.<IndexOperationMessage>absent(),
+ System.currentTimeMillis());
}
final AsyncEvent thisEvent = event;
- if ( logger.isDebugEnabled() ) {
- logger.debug( "Processing {} event", event );
+ if (logger.isDebugEnabled()) {
+ logger.debug("Processing {} event", event);
}
try {
@@ -316,55 +315,47 @@ public class AmazonAsyncEventService implements AsyncEventService {
boolean validateEmptySets = true;
Observable<IndexOperationMessage> indexoperationObservable;
//merge each operation to a master observable;
- if ( event instanceof EdgeDeleteEvent ) {
- indexoperationObservable = handleEdgeDelete( message );
- }
- else if ( event instanceof EdgeIndexEvent ) {
- indexoperationObservable = handleEdgeIndex( message );
- }
- else if ( event instanceof EntityDeleteEvent ) {
- indexoperationObservable = handleEntityDelete( message );
- }
- else if ( event instanceof EntityIndexEvent ) {
- indexoperationObservable = handleEntityIndexUpdate( message );
- }
- else if ( event instanceof InitializeApplicationIndexEvent ) {
+ if (event instanceof EdgeDeleteEvent) {
+ indexoperationObservable = handleEdgeDelete(message);
+ } else if (event instanceof EdgeIndexEvent) {
+ indexoperationObservable = handleEdgeIndex(message);
+ } else if (event instanceof EntityDeleteEvent) {
+ indexoperationObservable = handleEntityDelete(message);
+ } else if (event instanceof EntityIndexEvent) {
+ indexoperationObservable = handleEntityIndexUpdate(message);
+ } else if (event instanceof InitializeApplicationIndexEvent) {
//does not return observable
- handleInitializeApplicationIndex( event, message );
- indexoperationObservable = Observable.just( new IndexOperationMessage() );
+ handleInitializeApplicationIndex(event, message);
+ indexoperationObservable = Observable.just(new IndexOperationMessage());
validateEmptySets = false; //do not check this one for an empty set b/c it will be empty.
- }
- else if ( event instanceof ElasticsearchIndexEvent ) {
- handleIndexOperation( ( ElasticsearchIndexEvent ) event );
- indexoperationObservable = Observable.just( new IndexOperationMessage() );
+ } else if (event instanceof ElasticsearchIndexEvent) {
+ handleIndexOperation((ElasticsearchIndexEvent) event);
+ indexoperationObservable = Observable.just(new IndexOperationMessage());
validateEmptySets = false; //do not check this one for an empty set b/c it will be empty.
- }
-
- else {
- throw new Exception( "Unknown EventType" );//TODO: print json instead
+ } else {
+ throw new Exception("Unknown EventType");//TODO: print json instead
}
//collect all of the
IndexOperationMessage indexOperationMessage = indexoperationObservable
- .collect( () -> new IndexOperationMessage(), ( collector, single ) -> collector.ingest( single ) )
- .toBlocking().lastOrDefault( null );
+ .collect(() -> new IndexOperationMessage(), (collector, single) -> collector.ingest(single))
+ .toBlocking().lastOrDefault(null);
- if ( validateEmptySets && ( indexOperationMessage == null || indexOperationMessage.isEmpty() ) ) {
- logger.error( "Received empty index sequence message:({}), body:({}) ", message.getMessageId(),
- message.getStringBody() );
- throw new Exception( "Received empty index sequence." );
+ if (validateEmptySets && (indexOperationMessage == null || indexOperationMessage.isEmpty())) {
+ logger.error("Received empty index sequence message:({}), body:({}) ", message.getMessageId(),
+ message.getStringBody());
+ throw new Exception("Received empty index sequence.");
}
//return type that can be indexed and ack'd later
- return new IndexEventResult( Optional.fromNullable( message ),
- Optional.fromNullable( indexOperationMessage ), thisEvent.getCreationTime() );
- }
- catch ( Exception e ) {
- logger.error( "Failed to index message: " + message.getMessageId(), message.getStringBody(), e );
- return new IndexEventResult( Optional.absent(), Optional.<IndexOperationMessage>absent(),
+ return new IndexEventResult(Optional.fromNullable(message),
+ Optional.fromNullable(indexOperationMessage), thisEvent.getCreationTime());
+ } catch (Exception e) {
+ logger.error("Failed to index message: " + message.getMessageId(), message.getStringBody(), e);
+ return new IndexEventResult(Optional.absent(), Optional.<IndexOperationMessage>absent(),
event.getCreationTime());
- }
- });
+ }
+ });
return indexEventResults.collect(Collectors.toList());
@@ -373,7 +364,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
@Override
public void queueInitializeApplicationIndex( final ApplicationScope applicationScope) {
IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(
- applicationScope );
+ applicationScope);
offerTopic( new InitializeApplicationIndexEvent( queueFig.getPrimaryRegion(),
new ReplicatedIndexLocationStrategy( indexLocationStrategy ) ) );
}
@@ -442,7 +433,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
final EntityCollectionManager ecm = entityCollectionManagerFactory.createCollectionManager( applicationScope );
final Observable<IndexOperationMessage> edgeIndexObservable = ecm.load( edgeIndexEvent.getEntityId() ).flatMap(
- entity -> eventBuilder.buildNewEdge( applicationScope, entity, edge));
+ entity -> eventBuilder.buildNewEdge(applicationScope, entity, edge));
return edgeIndexObservable;
}
@@ -470,7 +461,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
if (logger.isDebugEnabled()) logger.debug("Deleting in app scope {} with edge {}", applicationScope, edge);
- final Observable<IndexOperationMessage> observable = eventBuilder.buildDeleteEdge( applicationScope, edge );
+ final Observable<IndexOperationMessage> observable = eventBuilder.buildDeleteEdge(applicationScope, edge);
return observable;
}
@@ -647,9 +638,9 @@ public class AmazonAsyncEventService implements AsyncEventService {
do {
try {
- drainList = take().toList().toBlocking().lastOrDefault( null );
+ drainList = take();
//emit our list in it's entity to hand off to a worker pool
- subscriber.onNext( drainList );
+ subscriber.onNext(drainList);
//take since we're in flight
inFlight.addAndGet( drainList.size() );
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
index 8be6099..d5f6858 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
@@ -40,7 +40,7 @@ public class LocalQueueManager implements QueueManager {
public ArrayBlockingQueue<QueueMessage> queue = new ArrayBlockingQueue<>(10000);
@Override
- public Observable<QueueMessage> getMessages(int limit, int transactionTimeout, int waitTime, Class klass) {
+ public List<QueueMessage> getMessages(int limit, int transactionTimeout, int waitTime, Class klass) {
List<QueueMessage> returnQueue = new ArrayList<>();
try {
QueueMessage message=null;
@@ -54,7 +54,7 @@ public class LocalQueueManager implements QueueManager {
}catch (InterruptedException ie){
throw new RuntimeException(ie);
}
- return Observable.from( returnQueue);
+ return returnQueue;
}
@Override
@@ -87,7 +87,7 @@ public class LocalQueueManager implements QueueManager {
public <T extends Serializable> void sendMessage( final T body ) throws IOException {
String uuid = UUID.randomUUID().toString();
try {
- queue.put(new QueueMessage(uuid, "handle_" + uuid, body, "put type here"));
+ queue.offer(new QueueMessage(uuid, "handle_" + uuid, body, "put type here"),5000,TimeUnit.MILLISECONDS);
}catch (InterruptedException ie){
throw new RuntimeException(ie);
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
index 34a3654..4c948e3 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
@@ -36,7 +36,7 @@ public interface QueueManager {
* @param klass class to cast the return from
* @return List of Queue Messages
*/
- Observable<QueueMessage> getMessages(int limit,int transactionTimeout, int waitTime, Class klass);
+ List<QueueMessage> getMessages(int limit,int transactionTimeout, int waitTime, Class klass);
/**
* get the queue depth
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index bc5f2f1..31b478d 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@ -399,12 +399,12 @@ public class SNSQueueManagerImpl implements QueueManager {
@Override
- public rx.Observable<QueueMessage> getMessages( final int limit, final int transactionTimeout, final int waitTime,
+ public List<QueueMessage> getMessages( final int limit, final int transactionTimeout, final int waitTime,
final Class klass ) {
if ( sqs == null ) {
logger.error( "SQS is null - was not initialized properly" );
- return rx.Observable.empty();
+ return new ArrayList<>(0);
}
String url = getReadQueue().getUrl();
@@ -462,7 +462,7 @@ public class SNSQueueManagerImpl implements QueueManager {
queueMessages.add( queueMessage );
}
- return rx.Observable.from( queueMessages );
+ return queueMessages ;
}
catch ( com.amazonaws.services.sqs.model.QueueDoesNotExistException dne ) {
logger.error( String.format( "Queue does not exist! [%s]", url ), dne );
@@ -471,7 +471,7 @@ public class SNSQueueManagerImpl implements QueueManager {
logger.error( String.format( "Programming error getting messages from queue=[%s] exist!", url ), e );
}
- return rx.Observable.from( new ArrayList<>( 0 ) );
+ return new ArrayList<>( 0 ) ;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
index ac70af6..c8661c0 100644
--- a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
+++ b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
@@ -82,14 +82,14 @@ public class QueueManagerTest {
public void send() throws Exception{
String value = "bodytest";
qm.sendMessage(value);
- List<QueueMessage> messageList = qm.getMessages(1,5000,5000,String.class).toList().toBlocking().last();
+ List<QueueMessage> messageList = qm.getMessages(1,5000,5000,String.class);
assertTrue(messageList.size() >= 1);
for(QueueMessage message : messageList){
assertTrue(message.getBody().equals(value));
qm.commitMessage(message);
}
- messageList = qm.getMessages(1,5000,5000,String.class).toList().toBlocking().last();
+ messageList = qm.getMessages(1,5000,5000,String.class);
assertTrue(messageList.size() <= 0);
}
@@ -102,14 +102,14 @@ public class QueueManagerTest {
List<Map<String,String>> bodies = new ArrayList<>();
bodies.add(values);
qm.sendMessages(bodies);
- List<QueueMessage> messageList = qm.getMessages(1,5000,5000,values.getClass()).toList().toBlocking().last();
+ List<QueueMessage> messageList = qm.getMessages(1,5000,5000,values.getClass());
assertTrue(messageList.size() >= 1);
for(QueueMessage message : messageList){
assertTrue(message.getBody().equals(values));
}
qm.commitMessages(messageList);
- messageList = qm.getMessages(1,5000,5000,values.getClass()).toList().toBlocking().last();
+ messageList = qm.getMessages(1,5000,5000,values.getClass());
assertTrue(messageList.size() <= 0);
}
@@ -133,7 +133,7 @@ public class QueueManagerTest {
}
assertTrue(depth>0);
- List<QueueMessage> messageList = qm.getMessages(10,5000,5000,values.getClass()).toList().toBlocking().last();
+ List<QueueMessage> messageList = qm.getMessages(10,5000,5000,values.getClass());
assertTrue(messageList.size() <= 500);
for(QueueMessage message : messageList){
assertTrue(message.getBody().equals(values));
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
index 7e271c9..bcf7b49 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
@@ -154,7 +154,7 @@ public class QueueListener {
while ( true ) {
Timer.Context timerContext = timer.time();
- queueManager.getMessages(getBatchSize(), MESSAGE_TRANSACTION_TIMEOUT, 10000, ApplicationQueueMessage.class)
+ rx.Observable.from(queueManager.getMessages(getBatchSize(), MESSAGE_TRANSACTION_TIMEOUT, 10000, ApplicationQueueMessage.class))
.buffer(getBatchSize())
.doOnNext(messages -> {
try {
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueManager.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueManager.java b/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueManager.java
index bc55ff4..272bb65 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueManager.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueManager.java
@@ -23,6 +23,7 @@ package org.apache.usergrid.services.queues;
import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.List;
import org.apache.usergrid.persistence.queue.QueueManager;
@@ -36,9 +37,9 @@ import rx.Observable;
public class ImportQueueManager implements QueueManager {
@Override
- public Observable<QueueMessage> getMessages( final int limit, final int transactionTimeout, final int waitTime,
+ public List<QueueMessage> getMessages( final int limit, final int transactionTimeout, final int waitTime,
final Class klass ) {
- return Observable.empty();
+ return new ArrayList<>();
}
@Override
http://git-wip-us.apache.org/repos/asf/usergrid/blob/62f28d40/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
index 36e347e..5404e6b 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
@@ -30,6 +30,7 @@ import org.apache.usergrid.services.ServiceManager;
import org.apache.usergrid.services.ServiceManagerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import rx.*;
import javax.annotation.PostConstruct;
import java.util.*;
@@ -172,7 +173,7 @@ public abstract class QueueListener {
Timer.Context timerContext = timer.time();
//Get the messages out of the queue.
//TODO: a model class to get generic queueMessages out of the queueManager. Ask Shawn what should go here.
- queueManager.getMessages(getBatchSize(), MESSAGE_TRANSACTION_TIMEOUT, 5000, ImportQueueMessage.class)
+ rx.Observable.from( queueManager.getMessages(getBatchSize(), MESSAGE_TRANSACTION_TIMEOUT, 5000, ImportQueueMessage.class))
.buffer(getBatchSize())
.doOnNext(messages -> {
try {
[06/50] [abbrv] usergrid git commit: Makes consistency configurable
Posted by sn...@apache.org.
Makes consistency configurable
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/19d30eaf
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/19d30eaf
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/19d30eaf
Branch: refs/heads/asf-site
Commit: 19d30eafc77095ee74ae126f9d0a849e997b6ad7
Parents: 0326629
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Oct 19 13:59:08 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Oct 19 13:59:08 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 4 +---
.../map/impl/MapSerializationImpl.java | 21 ++++++++++----------
2 files changed, 12 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/19d30eaf/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index 6b2eb45..67d0dab 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -29,9 +29,6 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import com.google.common.base.Optional;
-import org.apache.usergrid.persistence.index.impl.IndexProducer;
-import org.apache.usergrid.persistence.queue.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -68,6 +65,7 @@ import org.apache.usergrid.persistence.map.impl.MapScopeImpl;
import org.apache.usergrid.persistence.model.entity.Entity;
import org.apache.usergrid.persistence.model.entity.Id;
import org.apache.usergrid.persistence.model.util.UUIDGenerator;
+import org.apache.usergrid.persistence.queue.QueueFig;
import org.apache.usergrid.persistence.queue.QueueManager;
import org.apache.usergrid.persistence.queue.QueueManagerFactory;
import org.apache.usergrid.persistence.queue.QueueMessage;
http://git-wip-us.apache.org/repos/asf/usergrid/blob/19d30eaf/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java b/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
index 1aa3229..ffe10c9 100644
--- a/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
+++ b/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapSerializationImpl.java
@@ -33,6 +33,8 @@ import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.usergrid.persistence.core.astyanax.BucketScopedRowKey;
import org.apache.usergrid.persistence.core.astyanax.BucketScopedRowKeySerializer;
+import org.apache.usergrid.persistence.core.astyanax.CassandraConfig;
+import org.apache.usergrid.persistence.core.astyanax.CassandraFig;
import org.apache.usergrid.persistence.core.astyanax.CompositeFieldSerializer;
import org.apache.usergrid.persistence.core.astyanax.MultiTennantColumnFamily;
import org.apache.usergrid.persistence.core.astyanax.MultiTennantColumnFamilyDefinition;
@@ -105,15 +107,9 @@ public class MapSerializationImpl implements MapSerialization {
/**
* How to funnel keys for buckets
*/
- private static final Funnel<String> MAP_KEY_FUNNEL = new Funnel<String>() {
+ private static final Funnel<String> MAP_KEY_FUNNEL = ( key, into ) -> into.putString( key, StringHashUtils.UTF8 );
- @Override
- public void funnel( final String key, final PrimitiveSink into ) {
- into.putString( key, StringHashUtils.UTF8 );
- }
- };
-
/**
* Locator to get us all buckets
*/
@@ -121,10 +117,14 @@ public class MapSerializationImpl implements MapSerialization {
new ExpandingShardLocator<>( MAP_KEY_FUNNEL, NUM_BUCKETS );
private final Keyspace keyspace;
+ private final CassandraConfig cassandraConfig;
@Inject
- public MapSerializationImpl( final Keyspace keyspace ) {this.keyspace = keyspace;}
+ public MapSerializationImpl( final Keyspace keyspace, final CassandraConfig cassandraConfig ) {
+ this.keyspace = keyspace;
+ this.cassandraConfig = cassandraConfig;
+ }
@Override
@@ -387,7 +387,7 @@ public class MapSerializationImpl implements MapSerialization {
//now get all columns, including the "old row key value"
try {
final Column<Boolean> result =
- keyspace.prepareQuery( MAP_ENTRIES ).setConsistencyLevel( ConsistencyLevel.CL_QUORUM )
+ keyspace.prepareQuery( MAP_ENTRIES ).setConsistencyLevel( cassandraConfig.getConsistentReadCL() )
.getKey( entryRowKey ).getColumn( true ).execute().getResult();
return result;
@@ -421,7 +421,8 @@ public class MapSerializationImpl implements MapSerialization {
//now get all columns, including the "old row key value"
try {
final Rows<ScopedRowKey<MapEntryKey>, Boolean> rows =
- keyspace.prepareQuery( MAP_ENTRIES ).getKeySlice( rowKeys ).withColumnSlice( true ).execute()
+ keyspace.prepareQuery( MAP_ENTRIES ).setConsistencyLevel( cassandraConfig.getReadCL() ).getKeySlice(
+ rowKeys ).withColumnSlice( true ).execute()
.getResult();
[49/50] [abbrv] usergrid git commit: Update 2 install docs to point
to 2.1 and to include the correct /system API calls needed to init storage
and indexing.
Posted by sn...@apache.org.
Update 2 install docs to point to 2.1 and to include the correct /system API calls needed to init storage and indexing.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/9d3cf5b8
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/9d3cf5b8
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/9d3cf5b8
Branch: refs/heads/asf-site
Commit: 9d3cf5b8b0d91170984f948e2d343edb9a0b4953
Parents: 5109952
Author: Dave Johnson <sn...@apache.org>
Authored: Fri Oct 30 14:52:18 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Fri Oct 30 14:52:18 2015 -0400
----------------------------------------------------------------------
.../installation/ug2-deploy-to-tomcat.txt | 42 +++++++++++++-------
.../docs/installation/ug2-deploy-to-tomcat.html | 37 ++++++++++-------
content/docs/searchindex.js | 2 +-
docs/installation/ug2-deploy-to-tomcat.md | 42 +++++++++++++-------
4 files changed, 78 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/9d3cf5b8/content/docs/_sources/installation/ug2-deploy-to-tomcat.txt
----------------------------------------------------------------------
diff --git a/content/docs/_sources/installation/ug2-deploy-to-tomcat.txt b/content/docs/_sources/installation/ug2-deploy-to-tomcat.txt
index a07f13a..049b909 100644
--- a/content/docs/_sources/installation/ug2-deploy-to-tomcat.txt
+++ b/content/docs/_sources/installation/ug2-deploy-to-tomcat.txt
@@ -2,6 +2,7 @@
__NOTE__: Beware that Usergrid 2 is UNRELEASED SOFTWARE
+
## Requirements
* [JDK 1.8](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
@@ -9,44 +10,56 @@ __NOTE__: Beware that Usergrid 2 is UNRELEASED SOFTWARE
* [Tomcat 7+](https://tomcat.apache.org/download-70.cgi)
* [Cassandra 1.2.1*](http://cassandra.apache.org/download/)
* [ElasticSearch 1.4+](https://www.elastic.co/downloads/elasticsearch)
-* [Usergrid 2.0](https://github.com/apache/usergrid/tree/two-dot-o)
-
-##Running
+* [Usergrid 2.1](https://github.com/apache/usergrid/tree/2.1-release)
+## Running
1. Start up Cassandra [^1]
a. To do this you can navigate to the cassandra folder and run ```./bin/cassandra ```
2. Start up Elasticsearch
a. To do this you can navigate to the folder where you extracted elasticsearch and run ```/bin/elasticsearch```
-###Running Usergrid
+### Running Usergrid
-####Build The Java Sdk
+#### Build The Java SDK
1. Navigate to where you cloned the usergrid repo
2. Navigate to the ```sdks/java``` directory
3. Run ```mvn clean install```
-####Build The Stack Itself
+#### Build The Stack Itself
1. Navigate to the ```stack``` directory.
2. Run ```mvn clean install -DskipTests```
3. This will generate a war at ```rest/target/ROOT.war```
-####Deploying the Stack Locally
+#### Deploying the Stack Locally
+
1. Take this war and deploy it on downloaded tomcat.
1. In the lib directory of the tomcat you must also put usergrid-deployment.properties. ( An example file is provided below)
1. Start up Tomcat
a. To do this you can navigate to folder where Tomcat is install and run ```./bin/catalina.sh start```
-1. Go to a web browser and input the following to initilizing the database ```localhost:8080/system/database/setup```.
- a. The credentials it asks for are the admin credentialls and password as defined in the usergrid-deployment.properties.
- b. You can also do a curl call with basic auth to automatically authenticate the call instead of using the web browser.
-1. Then using the same steps as before call ```localhost:8080/system/superuser/setup```
+
+Next, you need to make some API calls to initialize Usergrid's storage and indexing systems. You can make these
+API calls using curl or your favorite HTTP client. These calls can only be done with the superuser credentials
+that appear in your __usergrid-deployment.properties__ file. Here's how to do the calls with curl (and assuming
+your superuser password is 'test'):
+
+ curl -X PUT http://localhost:8080/system/database/setup -u superuser:test
+ curl -X PUT http://localhost:8080/system/database/bootstrap -u superuser:test
+ curl -X GET http://localhost:8080/system/superuser/setup -u superuser:test
-The stack is now ready to be queried against, but to get the most out of it you'll need to initilize and use our portal!
+Once those three calls execute without error, then you are done. If you do see errors the double-check that you
+have Cassandra and ElasticSearch running and that your properties files lists your Cassandra and ElasticSearch
+hostnames correctly. Also check that ElasticSearch cluster name (in elasticsearch.yml) matches the one in the
+Usergrid properties file. If the problem persists come talk to us on the Usergrid mailing list, we might be able to help.
+
+The stack is now ready to be queried against, but to get the most out of it you'll need to initialize and use our portal!
+
+#### Running The Portal Locally
+
+##### Requirments
-####Running The Portal Locally
-#####Requirments
[nodejs 0.10+](https://nodejs.org/download/)
1. Make sure you've installed node.js above. Any version above .10 or .10 should work fine.
@@ -58,7 +71,6 @@ The stack is now ready to be queried against, but to get the most out of it you'
Now usergrid is fully ready to use! Feel free to query against it or use it however you like!
-
Example __usergrid-deployment.properties__ file
---
```
http://git-wip-us.apache.org/repos/asf/usergrid/blob/9d3cf5b8/content/docs/installation/ug2-deploy-to-tomcat.html
----------------------------------------------------------------------
diff --git a/content/docs/installation/ug2-deploy-to-tomcat.html b/content/docs/installation/ug2-deploy-to-tomcat.html
index 915c2a7..4831130 100644
--- a/content/docs/installation/ug2-deploy-to-tomcat.html
+++ b/content/docs/installation/ug2-deploy-to-tomcat.html
@@ -192,7 +192,7 @@
<li class="toctree-l2"><a class="reference internal" href="#requirements">Requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="#running">Running</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#running-usergrid">Running Usergrid</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#build-the-java-sdk">Build The Java Sdk</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#build-the-java-sdk">Build The Java SDK</a></li>
<li class="toctree-l4"><a class="reference internal" href="#build-the-stack-itself">Build The Stack Itself</a></li>
<li class="toctree-l4"><a class="reference internal" href="#deploying-the-stack-locally">Deploying the Stack Locally</a></li>
<li class="toctree-l4"><a class="reference internal" href="#running-the-portal-locally">Running The Portal Locally</a></li>
@@ -259,7 +259,8 @@
<li><a class="reference external" href="http://cassandra.apache.org/download/">Cassandra 1.2.1*</a></li>
<li><a class="reference external" href="https://www.elastic.co/downloads/elasticsearch">ElasticSearch
1.4+</a></li>
-<li><a class="reference external" href="https://github.com/apache/usergrid/tree/two-dot-o">Usergrid 2.0</a></li>
+<li><a class="reference external" href="https://github.com/apache/usergrid/tree/2.1-release">Usergrid
+2.1</a></li>
</ul>
</div>
<div class="section" id="running">
@@ -279,7 +280,7 @@ elasticsearch and run <code class="docutils literal"><span class="pre">/bin/elas
<div class="section" id="running-usergrid">
<h3>Running Usergrid<a class="headerlink" href="#running-usergrid" title="Permalink to this headline">¶</a></h3>
<div class="section" id="build-the-java-sdk">
-<h4>Build The Java Sdk<a class="headerlink" href="#build-the-java-sdk" title="Permalink to this headline">¶</a></h4>
+<h4>Build The Java SDK<a class="headerlink" href="#build-the-java-sdk" title="Permalink to this headline">¶</a></h4>
<ol class="arabic simple">
<li>Navigate to where you cloned the usergrid repo</li>
<li>Navigate to the <code class="docutils literal"><span class="pre">sdks/java</span></code> directory</li>
@@ -305,19 +306,27 @@ usergrid-deployment.properties. ( An example file is provided below)</li>
run <code class="docutils literal"><span class="pre">./bin/catalina.sh</span> <span class="pre">start</span></code></li>
</ol>
</li>
-<li>Go to a web browser and input the following to initilizing the
-database <code class="docutils literal"><span class="pre">localhost:8080/system/database/setup</span></code>.<ol class="loweralpha">
-<li>The credentials it asks for are the admin credentialls and
-password as defined in the usergrid-deployment.properties.</li>
-<li>You can also do a curl call with basic auth to automatically
-authenticate the call instead of using the web browser.</li>
-</ol>
-</li>
-<li>Then using the same steps as before call
-<code class="docutils literal"><span class="pre">localhost:8080/system/superuser/setup</span></code></li>
</ol>
+<p>Next, you need to make some API calls to initialize Usergrid’s storage
+and indexing systems. You can make these API calls using curl or your
+favorite HTTP client. These calls can only be done with the superuser
+credentials that appear in your <strong>usergrid-deployment.properties</strong> file.
+Here’s how to do the calls with curl (and assuming your superuser
+password is ‘test’):</p>
+<div class="highlight-python"><div class="highlight"><pre>curl -X PUT http://localhost:8080/system/database/setup -u superuser:test
+curl -X PUT http://localhost:8080/system/database/bootstrap -u superuser:test
+curl -X GET http://localhost:8080/system/superuser/setup -u superuser:test
+</pre></div>
+</div>
+<p>Once those three calls execute without error, then you are done. If you
+do see errors the double-check that you have Cassandra and ElasticSearch
+running and that your properties files lists your Cassandra and
+ElasticSearch hostnames correctly. Also check that ElasticSearch cluster
+name (in elasticsearch.yml) matches the one in the Usergrid properties
+file. If the problem persists come talk to us on the Usergrid mailing
+list, we might be able to help.</p>
<p>The stack is now ready to be queried against, but to get the most out of
-it you’ll need to initilize and use our portal!</p>
+it you’ll need to initialize and use our portal!</p>
</div>
<div class="section" id="running-the-portal-locally">
<h4>Running The Portal Locally<a class="headerlink" href="#running-the-portal-locally" title="Permalink to this headline">¶</a></h4>
[42/50] [abbrv] usergrid git commit: fix for limit issue
Posted by sn...@apache.org.
fix for limit issue
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/ec726b6e
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/ec726b6e
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/ec726b6e
Branch: refs/heads/asf-site
Commit: ec726b6eed30e5a34feeacfb95a25b56dcc54718
Parents: 4e647e0
Author: Shawn Feldman <sf...@apache.org>
Authored: Fri Oct 23 14:59:10 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Fri Oct 23 14:59:10 2015 -0600
----------------------------------------------------------------------
.../org/apache/usergrid/corepersistence/CpEntityManager.java | 4 ++--
.../corepersistence/asyncevents/AmazonAsyncEventService.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/ec726b6e/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 4b32389..009266b 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
@@ -2897,7 +2897,7 @@ public class CpEntityManager implements EntityManager {
hasFinished = true;
break;
}
- Thread.sleep(200);
+ Thread.sleep(100);
indexRefreshCommandInfo
= managerCache.getEntityIndex(applicationScope).refreshAsync().toBlocking().first();
@@ -2908,7 +2908,7 @@ public class CpEntityManager implements EntityManager {
}finally {
delete(refreshEntity);
}
- Thread.sleep(200);
+ Thread.sleep(100);
return indexRefreshCommandInfo;
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/usergrid/blob/ec726b6e/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index ef03bf8..14fbdaa 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -110,7 +110,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
private static final Logger logger = LoggerFactory.getLogger(AmazonAsyncEventService.class);
// SQS maximum receive messages is 10
- public static int MAX_TAKE = 10;
+ public int MAX_TAKE = 10;
public static final String QUEUE_NAME = "index"; //keep this short as AWS limits queue name size to 80 chars
private final QueueManager queue;
[45/50] [abbrv] usergrid git commit: Merge branch 'master' into jacoco
Posted by sn...@apache.org.
Merge branch 'master' into jacoco
Conflicts:
stack/pom.xml
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/690110ef
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/690110ef
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/690110ef
Branch: refs/heads/asf-site
Commit: 690110ef83867ae3810e4207b17d0a1e137efde8
Parents: b2f62a2 a616075
Author: Dave Johnson <sn...@apache.org>
Authored: Mon Oct 26 11:13:20 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Mon Oct 26 11:13:20 2015 -0400
----------------------------------------------------------------------
.../org/apache/usergrid/corepersistence/CpEntityManager.java | 4 ++--
.../corepersistence/asyncevents/AmazonAsyncEventService.java | 2 +-
stack/pom.xml | 3 ++-
3 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/690110ef/stack/pom.xml
----------------------------------------------------------------------
diff --cc stack/pom.xml
index 395175c,a08a4d7..c1ded77
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@@ -1334,12 -1472,12 +1334,13 @@@
<forkCount>${usergrid.it.forkCount}</forkCount>
<reuseForks>${usergrid.it.reuseForks}</reuseForks>
<threadCount>${usergrid.it.forkCount}</threadCount>
- <!-- see this page for documentation on classloading issues http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
+
+ <!-- see this page for documentation on classloading issues
+ http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
- <useSystemClassLoader>false</useSystemClassLoader>
+
+ <useSystemClassLoader>false</useSystemClassLoader>
- <!--<argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>-->
- <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
+ <testFailureIgnore>false</testFailureIgnore>
-
+ <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
<systemPropertyVariables>
<jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
</systemPropertyVariables>
[32/50] [abbrv] usergrid git commit: Merge branch 'master' into
usergrid-1007-shiro-cache
Posted by sn...@apache.org.
Merge branch 'master' into usergrid-1007-shiro-cache
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c812403c
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c812403c
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c812403c
Branch: refs/heads/asf-site
Commit: c812403c5152a9dfa153154ff809b75478ad1d78
Parents: 6b12857 62f28d4
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Oct 21 16:18:58 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Oct 21 16:18:58 2015 -0400
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 101 +++++++++----------
.../persistence/queue/LocalQueueManager.java | 6 +-
.../persistence/queue/QueueManager.java | 2 +-
.../queue/impl/SNSQueueManagerImpl.java | 8 +-
.../persistence/queue/QueueManagerTest.java | 10 +-
.../services/notifications/QueueListener.java | 2 +-
.../services/queues/ImportQueueManager.java | 5 +-
.../usergrid/services/queues/QueueListener.java | 3 +-
8 files changed, 65 insertions(+), 72 deletions(-)
----------------------------------------------------------------------
[29/50] [abbrv] usergrid git commit: Switch to string serializer
instead of Smile.
Posted by sn...@apache.org.
Switch to string serializer instead of Smile.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/876b1eeb
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/876b1eeb
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/876b1eeb
Branch: refs/heads/asf-site
Commit: 876b1eebbeec05e2a0afa0adc359b60da2e57594
Parents: 2fdf664
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Oct 21 10:02:35 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Oct 21 10:02:35 2015 -0400
----------------------------------------------------------------------
.../impl/ScopedCacheSerializationImpl.java | 77 +-------------------
1 file changed, 1 insertion(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/876b1eeb/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java b/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
index c11d62f..1439bc5 100644
--- a/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
+++ b/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
@@ -21,12 +21,10 @@ import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.smile.SmileFactory;
import com.google.common.base.Preconditions;
import com.google.common.hash.Funnel;
import com.google.common.hash.PrimitiveSink;
import com.google.inject.Inject;
-import com.netflix.astyanax.ColumnListMutation;
import com.netflix.astyanax.Keyspace;
import com.netflix.astyanax.MutationBatch;
import com.netflix.astyanax.Serializer;
@@ -97,9 +95,7 @@ public class ScopedCacheSerializationImpl<K,V> implements ScopedCacheSerializati
private final Keyspace keyspace;
- private final SmileFactory SMILE_FACTORY = new SmileFactory();
-
- private final ObjectMapper MAPPER = new ObjectMapper( SMILE_FACTORY );
+ private final ObjectMapper MAPPER = new ObjectMapper();
//------------------------------------------------------------------------------------------
@@ -294,27 +290,6 @@ public class ScopedCacheSerializationImpl<K,V> implements ScopedCacheSerializati
}
- //------------------------------------------------------------------------------------------
-
-// /**
-// * Entries for serializing cache entries keys to a row
-// */
-// private static class CacheKey {
-// public final String key;
-//
-// private CacheKey( final String key ) {
-// this.key = key;
-// }
-//
-// /**
-// * Create a scoped row key from the key
-// */
-// public static ScopedRowKey<CacheKey> fromKey(
-// final CacheScope cacheScope, final String key ) {
-// return ScopedRowKey.fromKey( cacheScope.getApplication(), new CacheKey( key ) );
-// }
-// }
-
/**
* Inner class to serialize cache key
*/
@@ -332,54 +307,4 @@ public class ScopedCacheSerializationImpl<K,V> implements ScopedCacheSerializati
}
}
-
-// /**
-// * Inner class to serialize cache value
-// */
-// private static class CacheEntitySerializer implements CompositeFieldSerializer {
-//
-// @Override
-// public void toComposite(CompositeBuilder builder, Object value) {
-//
-// }
-//
-// @Override
-// public Object fromComposite( final CompositeParser composite ) {
-// return null;
-// }
-// }
-
-
-// /**
-// * Build the results from the row keys
-// */
-// private static interface ResultsBuilder<T> {
-//
-// public T buildResults(final Rows<ScopedRowKey<CacheKey>, Boolean> rows);
-// }
-//
-// public static class StringResultsBuilder implements ResultsBuilder<Map<String, String>>{
-//
-// @Override
-// public Map<String, String> buildResults( final Rows<ScopedRowKey<CacheKey>, Boolean> rows ) {
-// final int size = rows.size();
-//
-// final Map<String, String> results = new HashMap<>(size);
-//
-// for(int i = 0; i < size; i ++){
-//
-// final Row<ScopedRowKey<CacheKey>, Boolean> row = rows.getRowByIndex( i );
-//
-// final String value = row.getColumns().getStringValue( true, null );
-//
-// if(value == null){
-// continue;
-// }
-//
-// results.put( row.getKey().getKey().key, value );
-// }
-//
-// return results;
-// }
-// }
}
[36/50] [abbrv] usergrid git commit: This closes #405 -- invalid PR
Posted by sn...@apache.org.
This closes #405 -- invalid PR
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/8a59becd
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/8a59becd
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/8a59becd
Branch: refs/heads/asf-site
Commit: 8a59becdff07b0b524d23fa23a15dd7315eeba7d
Parents: e9c51cd
Author: Mike Dunker <md...@apigee.com>
Authored: Thu Oct 22 12:21:22 2015 -0700
Committer: Mike Dunker <md...@apigee.com>
Committed: Thu Oct 22 12:21:22 2015 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[09/50] [abbrv] usergrid git commit: merge from 1048
Posted by sn...@apache.org.
merge from 1048
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/5eed63d4
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/5eed63d4
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/5eed63d4
Branch: refs/heads/asf-site
Commit: 5eed63d43999c8f381e2fbcbe7d2c1fdb6b73729
Parents: 68befd2 4013f17
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Oct 19 15:19:33 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Oct 19 15:19:33 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 377 ++++++++----
.../asyncevents/AsyncEventService.java | 1 +
.../asyncevents/AsyncIndexProvider.java | 14 +-
.../asyncevents/model/AsyncEvent.java | 8 +-
.../model/ElasticsearchIndexEvent.java | 50 ++
.../index/IndexProcessorFig.java | 17 +
.../util/ObjectJsonSerializer.java | 92 +++
.../index/AmazonAsyncEventServiceTest.java | 6 +-
.../index/AsyncIndexServiceTest.java | 2 +-
.../usergrid/persistence/map/MapManager.java | 25 +-
.../persistence/map/impl/MapManagerImpl.java | 6 +
.../persistence/map/impl/MapSerialization.java | 27 +-
.../map/impl/MapSerializationImpl.java | 265 ++++----
.../index/impl/DeIndexOperation.java | 4 +
.../persistence/index/impl/IndexOperation.java | 4 +
.../index/impl/IndexOperationMessage.java | 5 +
.../persistence/queue/LocalQueueManager.java | 12 +-
.../persistence/queue/QueueManager.java | 8 +-
.../persistence/queue/guice/QueueModule.java | 1 -
.../queue/impl/SNSQueueManagerImpl.java | 615 +++++++++++--------
.../queue/impl/SQSQueueManagerImpl.java | 352 -----------
.../services/queues/ImportQueueManager.java | 9 +-
22 files changed, 1017 insertions(+), 883 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/5eed63d4/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/5eed63d4/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
----------------------------------------------------------------------
diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
index 1ad9b86,2bace8d..aafb63a
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
@@@ -27,7 -27,7 +27,8 @@@ import org.apache.usergrid.persistence.
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.impl.IndexProducer;
+import org.apache.usergrid.persistence.queue.LocalQueueManager;
+ import org.apache.usergrid.persistence.map.MapManagerFactory;
import org.apache.usergrid.persistence.queue.QueueFig;
import org.apache.usergrid.persistence.queue.QueueManagerFactory;
@@@ -99,16 -103,12 +104,15 @@@ public class AsyncIndexProvider impleme
switch (impl) {
case LOCAL:
- return new InMemoryAsyncEventService(eventBuilder, rxTaskScheduler, indexProducer,indexProcessorFig.resolveSynchronously());
+ AmazonAsyncEventService eventService = new AmazonAsyncEventService(scope -> new LocalQueueManager(), indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, rxTaskScheduler,queueFig);
++ entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder,mapManagerFactory, queueFig,rxTaskScheduler);
+ eventService.MAX_TAKE = 1000;
+ return eventService;
case SQS:
- return new AmazonAsyncEventService(queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler,queueFig );
+ throw new IllegalArgumentException("Configuration value of SQS is no longer allowed. Use SNS instead with only a single region");
case SNS:
return new AmazonAsyncEventService(queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler, queueFig);
+ entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, mapManagerFactory, queueFig, rxTaskScheduler );
default:
throw new IllegalArgumentException("Configuration value of " + getErrorValues() + " are allowed");
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/5eed63d4/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
----------------------------------------------------------------------
diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
index 8a8c8a5,ec9b315..69d5e18
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java
@@@ -86,7 -86,32 +86,24 @@@ public interface IndexProcessorFig exte
String getQueueImplementation();
@Default("1000")
- @Key("elasticsearch.reindex.flush.interval")
- int getUpdateInterval();
-
- @Default("100")
- @Key("elasticsearch.buffer.time_ms")
- int getBufferTime();
-
- @Default("1000")
- @Key( REINDEX_BUFFER_SIZE )
+ @Key(REINDEX_BUFFER_SIZE)
int getReindexBufferSize();
+ /**
+ * Flag to resolve the LOCAL queue implementation service synchronously.
+ */
+ @Default("false")
+ @Key("elasticsearch.queue_impl.resolution")
+ boolean resolveSynchronously();
+
+ /**
+ * Get the message TTL in milliseconds. Defaults to 24 hours
+ *
+ * 24 * 60 * 60 * 1000
+ *
+ * @return
+ */
+ @Default("86400000")
+ @Key( "elasticsearch.message.ttl" )
+ int getIndexMessageTtl();
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/5eed63d4/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
----------------------------------------------------------------------
diff --cc stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
index 4b4218a,0000000..8be6099
mode 100644,000000..100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/LocalQueueManager.java
@@@ -1,98 -1,0 +1,108 @@@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one or more
+ * * contributor license agreements. The ASF licenses this file to You
+ * * under the Apache License, Version 2.0 (the "License"); you may not
+ * * use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License. For additional information regarding
+ * * copyright in this work, please see the NOTICE file in the top level
+ * * directory of this distribution.
+ *
+ */
+
+package org.apache.usergrid.persistence.queue;
+
+import rx.Observable;
+
+import java.io.IOException;
+import java.util.AbstractQueue;
++import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.PriorityBlockingQueue;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Default queue manager implementation, uses in memory linked queue
+ */
+public class LocalQueueManager implements QueueManager {
+ public ArrayBlockingQueue<QueueMessage> queue = new ArrayBlockingQueue<>(10000);
+
+ @Override
+ public Observable<QueueMessage> getMessages(int limit, int transactionTimeout, int waitTime, Class klass) {
+ List<QueueMessage> returnQueue = new ArrayList<>();
+ try {
+ QueueMessage message=null;
+ int count = 5;
+ do {
+ message = queue.poll(100, TimeUnit.MILLISECONDS);
+ if (message != null) {
+ returnQueue.add(message);
+ }
+ }while(message!=null && count-->0);
+ }catch (InterruptedException ie){
+ throw new RuntimeException(ie);
+ }
+ return Observable.from( returnQueue);
+ }
+
+ @Override
+ public long getQueueDepth() {
+ return queue.size();
+ }
+
+ @Override
+ public void commitMessage(QueueMessage queueMessage) {
+ }
+
+ @Override
+ public void commitMessages(List<QueueMessage> queueMessages) {
+ }
+
+ @Override
+ public void sendMessages(List bodies) throws IOException {
+ for(Object body : bodies){
+ String uuid = UUID.randomUUID().toString();
+ try {
+ queue.put(new QueueMessage(uuid, "handle_" + uuid, body, "put type here"));
+ }catch (InterruptedException ie){
+ throw new RuntimeException(ie);
+ }
+ }
+ }
+
++
+ @Override
- public void sendMessage(Object body) throws IOException {
++ public <T extends Serializable> void sendMessage( final T body ) throws IOException {
+ String uuid = UUID.randomUUID().toString();
+ try {
+ queue.put(new QueueMessage(uuid, "handle_" + uuid, body, "put type here"));
+ }catch (InterruptedException ie){
+ throw new RuntimeException(ie);
+ }
+ }
+
++
++
++ @Override
++ public <T extends Serializable> void sendMessageToTopic( final T body ) throws IOException {
++ sendMessage( body );
++ }
++
++
+ @Override
+ public void deleteQueue() {
+
+ }
+}
[19/50] [abbrv] usergrid git commit: Merge remote-tracking branch
'origin/USERGRID-1048'
Posted by sn...@apache.org.
Merge remote-tracking branch 'origin/USERGRID-1048'
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/5f62e4c1
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/5f62e4c1
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/5f62e4c1
Branch: refs/heads/asf-site
Commit: 5f62e4c167ec12ec0378d65b162e3db0481f7d07
Parents: b51287c e50835f
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 20 11:43:47 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 20 11:43:47 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 2 +-
.../core/astyanax/CassandraConfig.java | 8 ++---
.../core/astyanax/CassandraConfigImpl.java | 1 +
.../map/impl/MapSerializationImpl.java | 37 ++++----------------
.../queue/impl/SNSQueueManagerImpl.java | 4 +--
5 files changed, 14 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
[34/50] [abbrv] usergrid git commit: Correct version of cache module
Posted by sn...@apache.org.
Correct version of cache module
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/df9bc60d
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/df9bc60d
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/df9bc60d
Branch: refs/heads/asf-site
Commit: df9bc60d97081425f0d8f9575bece3892cc3bca5
Parents: 14e2a9d
Author: Dave Johnson <sn...@apache.org>
Authored: Thu Oct 22 14:18:26 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Thu Oct 22 14:18:26 2015 -0400
----------------------------------------------------------------------
stack/core/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/df9bc60d/stack/core/pom.xml
----------------------------------------------------------------------
diff --git a/stack/core/pom.xml b/stack/core/pom.xml
index e1f13e4..83eac00 100644
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@ -467,7 +467,7 @@
<dependency>
<groupId>org.apache.usergrid</groupId>
<artifactId>cache</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>2.1.1-SNAPSHOT</version>
</dependency>
<dependency>
[40/50] [abbrv] usergrid git commit: Remove Jacoco from all except
parent POMs.
Posted by sn...@apache.org.
Remove Jacoco from all except parent POMs.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0185a0b3
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0185a0b3
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0185a0b3
Branch: refs/heads/asf-site
Commit: 0185a0b396e53b4588ae6c1e08715738d12638c5
Parents: 9562ba7
Author: Dave Johnson <sn...@apache.org>
Authored: Fri Oct 23 16:02:30 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Fri Oct 23 16:02:30 2015 -0400
----------------------------------------------------------------------
stack/Coverage.md | 10 ++++--
stack/core/pom.xml | 22 +++++++++++-
stack/corepersistence/collection/pom.xml | 36 +++++++++++--------
stack/corepersistence/common/pom.xml | 34 +++++++++---------
stack/corepersistence/graph/pom.xml | 42 ++++++++++------------
stack/corepersistence/map/pom.xml | 36 +++++++++----------
stack/corepersistence/model/pom.xml | 36 ++++++++++---------
stack/corepersistence/pom.xml | 17 +++++++++
stack/corepersistence/queryindex/pom.xml | 23 ++++++++++--
stack/corepersistence/queue/pom.xml | 35 ++++++++++---------
stack/pom.xml | 19 ++++++++++
stack/rest/pom.xml | 50 +++++++++++----------------
stack/services/pom.xml | 23 +++++++++++-
stack/test-utils/pom.xml | 20 +++++++++++
14 files changed, 261 insertions(+), 142 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/Coverage.md
----------------------------------------------------------------------
diff --git a/stack/Coverage.md b/stack/Coverage.md
index f36ba71..e09d951 100644
--- a/stack/Coverage.md
+++ b/stack/Coverage.md
@@ -1,14 +1,18 @@
Generating Coverage reports
---
-To generate Jacoco coverage reports for Usergrid, run this command in the usergrid/stack directory:
+To generate Jacoco coverage reports for Usergrid, do a build that runs the tests:
+
+For example:
+
+ mvn install
- mvn verify jacoco:report
Note that all tests must pass, or some Jacoco files will be missing and report generation is likely to fail complete.
Once you do that the below coverage reports will be available.
+
Coverage reports
---
@@ -23,6 +27,7 @@ Coverage reports
* [./services/target/site/jacoco/index.html](file:./services/target/site/jacoco/index.html)
* [./rest/target/site/jacoco/index.html](file:./services/target/site/jacoco/index.html)
+
Master Coverage report
---
@@ -33,4 +38,3 @@ After you run the above command to generate Jacoco reports, you can run this com
The master report will be available at this link:
* [./target/coverage-report/html/index.html](file:./target/coverage-report/html/index.html)
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/core/pom.xml
----------------------------------------------------------------------
diff --git a/stack/core/pom.xml b/stack/core/pom.xml
index 83eac00..5b4ebfc 100644
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@ -89,7 +89,7 @@
<forkCount>${usergrid.it.forkCount}</forkCount>
<threadCount>${usergrid.it.threads}</threadCount>
<reuseForks>true</reuseForks>
- <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline} </argLine>
+ <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
<!-- see this page for documentation on classloading issues http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
<!--<useSystemClassLoader>false</useSystemClassLoader>-->
<!--<useManifestOnlyJar>false</useManifestOnlyJar>-->
@@ -497,4 +497,24 @@
</dependencies>
+<!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+-->
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/collection/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/pom.xml b/stack/corepersistence/collection/pom.xml
index 1a1d51a..1b77735 100644
--- a/stack/corepersistence/collection/pom.xml
+++ b/stack/corepersistence/collection/pom.xml
@@ -15,21 +15,6 @@
<artifactId>collection</artifactId>
<name>Usergrid Collection</name>
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
- </plugins>
-
- </build>
-
<dependencies>
<!-- Google Guice Integration Test Injectors -->
@@ -58,4 +43,25 @@
</dependency>
</dependencies>
+
+ <!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ -->
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/common/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/pom.xml b/stack/corepersistence/common/pom.xml
index 6e1e81b..2082b04 100644
--- a/stack/corepersistence/common/pom.xml
+++ b/stack/corepersistence/common/pom.xml
@@ -12,22 +12,6 @@
<artifactId>common</artifactId>
<name>Usergrid Common</name>
-
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
- </plugins>
-
- </build>
-
<dependencies>
<dependency>
@@ -188,4 +172,22 @@
</dependency>
</dependencies>
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/graph/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/pom.xml b/stack/corepersistence/graph/pom.xml
index f7c5541..23621fb 100644
--- a/stack/corepersistence/graph/pom.xml
+++ b/stack/corepersistence/graph/pom.xml
@@ -92,29 +92,23 @@
</dependencies>
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>
- -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
- </argLine>
- <!-- We want to exclude any chop tests or stress tests.
- They kill the embedded cassandra and aren't intended to be part of the build process-->
- <excludes>
- <exclude>**/*ChopTest.java</exclude>
- <exclude>**/*LoadTest.java</exclude>
- <exclude>**/*StressTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
-
- </plugins>
-
- </build>
+
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/map/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/map/pom.xml b/stack/corepersistence/map/pom.xml
index aec9fb7..e6f4d54 100644
--- a/stack/corepersistence/map/pom.xml
+++ b/stack/corepersistence/map/pom.xml
@@ -31,22 +31,6 @@ limitations under the License.
<artifactId>map</artifactId>
<name>Usergrid Map</name>
-
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
- </plugins>
-
- </build>
-
<dependencies>
@@ -77,8 +61,6 @@ limitations under the License.
</dependency>
-
-
<dependency>
<groupId>org.apache.usergrid</groupId>
<artifactId>collection</artifactId>
@@ -88,4 +70,22 @@ limitations under the License.
</dependency>
</dependencies>
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/model/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/model/pom.xml b/stack/corepersistence/model/pom.xml
index ce0076d..ddf301d 100644
--- a/stack/corepersistence/model/pom.xml
+++ b/stack/corepersistence/model/pom.xml
@@ -12,22 +12,6 @@
<artifactId>model</artifactId>
<name>Usergrid Model</name>
-
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
- </plugins>
-
- </build>
-
<!-- Runtime Dependencies -->
<dependencies>
@@ -99,4 +83,24 @@
</dependencies>
+<!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+-->
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/pom.xml b/stack/corepersistence/pom.xml
index 1ca08f6..4f6c09a 100644
--- a/stack/corepersistence/pom.xml
+++ b/stack/corepersistence/pom.xml
@@ -29,6 +29,7 @@ limitations under the License.
<version>2.1.1-SNAPSHOT</version>
<profiles>
+
<!-- better to have keep this sonar profile in your maven settings.xml -->
<profile>
<id>sonar</id>
@@ -43,6 +44,22 @@ limitations under the License.
</properties>
</profile>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
</profiles>
<properties>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/queryindex/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/pom.xml b/stack/corepersistence/queryindex/pom.xml
index c319c3e..59f4f56 100644
--- a/stack/corepersistence/queryindex/pom.xml
+++ b/stack/corepersistence/queryindex/pom.xml
@@ -51,9 +51,6 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <argLine>
- -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
- </argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
@@ -169,4 +166,24 @@
</dependencies>
+<!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+-->
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/corepersistence/queue/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/pom.xml b/stack/corepersistence/queue/pom.xml
index 34827b3..9f8ac97 100644
--- a/stack/corepersistence/queue/pom.xml
+++ b/stack/corepersistence/queue/pom.xml
@@ -33,22 +33,6 @@
<name>Usergrid Queue</name>
-
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
- </configuration>
- </plugin>
- </plugins>
-
- </build>
-
<dependencies>
@@ -107,5 +91,24 @@
</dependencies>
+<!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+-->
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 6498595..cc3c913 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1711,6 +1711,25 @@
</plugins>
</reporting>
+
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
<!--
<repositories>
<repository>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/rest/pom.xml
----------------------------------------------------------------------
diff --git a/stack/rest/pom.xml b/stack/rest/pom.xml
index b631a8b..e56f705 100644
--- a/stack/rest/pom.xml
+++ b/stack/rest/pom.xml
@@ -36,34 +36,6 @@
<catalina.jmx.port>8089</catalina.jmx.port>
</properties>
- <!-- profile that arquillian uses when it builds/starts tomcat -->
- <profiles>
-
- <!--
- <profile>
- <id>arquillian-tomcat</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-tomcat-remote-7</artifactId>
- <version>1.0.0.CR7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eu.ingwar.tools</groupId>
- <artifactId>arquillian-suite-extension</artifactId>
- <version>1.1.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </profile>
- -->
-
- </profiles>
-
<build>
<finalName>ROOT</finalName>
@@ -105,7 +77,7 @@
<threadCount>${usergrid.rest.threads}</threadCount>
<useSystemClassLoader>false</useSystemClassLoader>
<reuseForks>true</reuseForks>
- <argLine>-Dwebapp.directory=${basedir}/src/main/webapp -Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar -Djava.util.logging.config.file=${basedir}/src/test/resources/logging.properties ${ug.argline}
+ <argLine>-Dwebapp.directory=${basedir}/src/main/webapp -Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar -Djava.util.logging.config.file=${basedir}/src/test/resources/logging.properties ${ug.argline}
</argLine>
<includes>
<include>**/*IT.java</include>
@@ -424,4 +396,24 @@
</dependencies>
+<!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+-->
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/services/pom.xml
----------------------------------------------------------------------
diff --git a/stack/services/pom.xml b/stack/services/pom.xml
index 0a53869..e634f91 100644
--- a/stack/services/pom.xml
+++ b/stack/services/pom.xml
@@ -94,7 +94,7 @@
<threadCount>${usergrid.it.threads}</threadCount>
<reuseForks>${usergrid.it.reuseForks}</reuseForks>
<useSystemClassLoader>false</useSystemClassLoader>
- <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}
+ <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}
</argLine>
<includes>
<include>**/*IT.java</include>
@@ -474,4 +474,25 @@
</dependency>
</dependencies>
+
+<!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+-->
+
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0185a0b3/stack/test-utils/pom.xml
----------------------------------------------------------------------
diff --git a/stack/test-utils/pom.xml b/stack/test-utils/pom.xml
index 6478c4e..590f0e8 100644
--- a/stack/test-utils/pom.xml
+++ b/stack/test-utils/pom.xml
@@ -271,4 +271,24 @@
</dependencies>
+<!--
+ <profiles>
+ <profile>
+ <id>jacoco</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.plugin.version}</version>
+ <configuration>
+ <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+-->
+
</project>
[02/50] [abbrv] usergrid git commit: merge
Posted by sn...@apache.org.
merge
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/00175cc6
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/00175cc6
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/00175cc6
Branch: refs/heads/asf-site
Commit: 00175cc61111c7bc67971c11b1049bb7ddbc7c2b
Parents: 5ecc57f
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Oct 19 13:25:15 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Oct 19 13:25:15 2015 -0600
----------------------------------------------------------------------
.../usergrid/corepersistence/asyncevents/AsyncIndexProvider.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/00175cc6/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
index fb63276..1ad9b86 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
@@ -100,7 +100,7 @@ public class AsyncIndexProvider implements Provider<AsyncEventService> {
switch (impl) {
case LOCAL:
AmazonAsyncEventService eventService = new AmazonAsyncEventService(scope -> new LocalQueueManager(), indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, rxTaskScheduler);
+ entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, rxTaskScheduler,queueFig);
eventService.MAX_TAKE = 1000;
return eventService;
case SQS:
[30/50] [abbrv] usergrid git commit: Merge branch 'master' into
usergrid-1007-shiro-cache
Posted by sn...@apache.org.
Merge branch 'master' into usergrid-1007-shiro-cache
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/6b128575
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/6b128575
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/6b128575
Branch: refs/heads/asf-site
Commit: 6b128575f55468181aa90ff03adb36864dd3befc
Parents: 876b1ee af11143
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Oct 21 10:03:07 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Oct 21 10:03:07 2015 -0400
----------------------------------------------------------------------
stack/Coverage.md | 21 ++
stack/core/pom.xml | 2 +-
.../corepersistence/CpEntityManager.java | 53 ++++-
.../corepersistence/CpEntityManagerFactory.java | 3 +-
.../asyncevents/AmazonAsyncEventService.java | 2 +-
.../asyncevents/AsyncIndexProvider.java | 6 +-
.../asyncevents/EventBuilderImpl.java | 10 +-
.../asyncevents/InMemoryAsyncEventService.java | 153 --------------
.../index/IndexProcessorFig.java | 30 +--
.../corepersistence/index/IndexServiceImpl.java | 12 +-
.../usergrid/persistence/EntityManager.java | 5 +-
.../persistence/EntityManagerFactory.java | 4 +-
.../org/apache/usergrid/CoreApplication.java | 11 +-
.../corepersistence/StaleIndexCleanupTest.java | 42 ++--
.../index/InMemoryAsycIndexServiceTest.java | 68 -------
.../usergrid/corepersistence/index/RxTest.java | 2 +-
.../persistence/ApplicationServiceIT.java | 9 +-
.../query/IntersectionTransitivePagingIT.java | 1 +
.../persistence/query/IteratingQueryIT.java | 5 +-
stack/corepersistence/collection/pom.xml | 50 +----
stack/corepersistence/common/pom.xml | 16 ++
.../core/rx/ExceptionBehaviorTest.java | 26 +++
stack/corepersistence/graph/pom.xml | 94 ++++-----
stack/corepersistence/map/pom.xml | 16 ++
stack/corepersistence/model/pom.xml | 16 ++
stack/corepersistence/pom.xml | 9 +
stack/corepersistence/queryindex/pom.xml | 38 ++--
.../usergrid/persistence/index/EntityIndex.java | 20 +-
.../persistence/index/IndexRefreshCommand.java | 50 -----
.../persistence/index/guice/IndexModule.java | 1 -
.../index/impl/EsEntityIndexFactoryImpl.java | 6 +-
.../index/impl/EsEntityIndexImpl.java | 38 +++-
.../index/impl/IndexRefreshCommandImpl.java | 202 -------------------
.../persistence/index/impl/EntityIndexTest.java | 2 +-
stack/corepersistence/queue/pom.xml | 16 ++
.../persistence/queue/DefaultQueueManager.java | 90 ---------
.../persistence/queue/LocalQueueManager.java | 108 ++++++++++
.../queue/impl/QueueManagerFactoryImpl.java | 4 +-
stack/pom.xml | 91 +++++++--
stack/rest/pom.xml | 8 +-
stack/services/pom.xml | 4 +-
.../apns/NotificationsServiceIT.java | 4 +-
.../gcm/NotificationsServiceIT.java | 2 -
stack/test-utils/pom.xml | 2 +-
stack/tools/pom.xml | 2 +-
stack/websocket/pom.xml | 2 +-
46 files changed, 562 insertions(+), 794 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6b128575/stack/core/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6b128575/stack/corepersistence/pom.xml
----------------------------------------------------------------------
[03/50] [abbrv] usergrid git commit: Merge branch
'refs/heads/2.1-release' into USERGRID-1048
Posted by sn...@apache.org.
Merge branch 'refs/heads/2.1-release' into USERGRID-1048
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/3e155852
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/3e155852
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/3e155852
Branch: refs/heads/asf-site
Commit: 3e1558524728c96834cfd66d9e53e3f1b6a7d3d6
Parents: 04a3f47 a09485a
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Oct 19 13:30:04 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Oct 19 13:30:04 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 149 ++++++++++---------
.../asyncevents/AsyncIndexProvider.java | 26 ++--
.../asyncevents/model/AsyncEvent.java | 14 +-
.../asyncevents/model/EdgeDeleteEvent.java | 6 +-
.../asyncevents/model/EdgeIndexEvent.java | 9 +-
.../asyncevents/model/EntityDeleteEvent.java | 8 +-
.../asyncevents/model/EntityIndexEvent.java | 6 +-
.../model/InitializeApplicationIndexEvent.java | 4 +-
.../index/AmazonAsyncEventServiceTest.java | 6 +-
.../cache/CachedEntityCollectionManager.java | 147 ------------------
.../EntityCollectionManagerFactoryImpl.java | 6 -
.../usergrid/persistence/queue/QueueFig.java | 2 +-
.../queue/impl/SNSQueueManagerImpl.java | 8 +-
13 files changed, 135 insertions(+), 256 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3e155852/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index d319ac8,c198674..f8ef5e7
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@@ -97,7 -84,9 +100,8 @@@ public class AmazonAsyncEventService im
public static final String QUEUE_NAME = "index"; //keep this short as AWS limits queue name size to 80 chars
private final QueueManager queue;
- private final QueueScope queueScope;
private final IndexProcessorFig indexProcessorFig;
+ private final QueueFig queueFig;
private final IndexProducer indexProducer;
private final EntityCollectionManagerFactory entityCollectionManagerFactory;
private final IndexLocationStrategyFactory indexLocationStrategyFactory;
@@@ -125,33 -113,28 +129,35 @@@
@Inject
- public AmazonAsyncEventService(final QueueManagerFactory queueManagerFactory,
- final IndexProcessorFig indexProcessorFig,
- final IndexProducer indexProducer,
- final MetricsFactory metricsFactory,
- final EntityCollectionManagerFactory entityCollectionManagerFactory,
- final IndexLocationStrategyFactory indexLocationStrategyFactory,
- final EntityIndexFactory entityIndexFactory,
- final EventBuilder eventBuilder,
- final RxTaskScheduler rxTaskScheduler,
- QueueFig queueFig) {
+ public AmazonAsyncEventService( final QueueManagerFactory queueManagerFactory,
+ final IndexProcessorFig indexProcessorFig,
+ final IndexProducer indexProducer,
+ final MetricsFactory metricsFactory,
+ final EntityCollectionManagerFactory entityCollectionManagerFactory,
+ final IndexLocationStrategyFactory indexLocationStrategyFactory,
+ final EntityIndexFactory entityIndexFactory,
+ final EventBuilder eventBuilder,
+ final MapManagerFactory mapManagerFactory,
++ final QueueFig queueFig,
+ final RxTaskScheduler rxTaskScheduler ) {
this.indexProducer = indexProducer;
this.entityCollectionManagerFactory = entityCollectionManagerFactory;
this.indexLocationStrategyFactory = indexLocationStrategyFactory;
this.entityIndexFactory = entityIndexFactory;
this.eventBuilder = eventBuilder;
+
+ final MapScope mapScope = new MapScopeImpl( CpNamingUtils.getManagementApplicationId(), "indexEvents");
+
+ this.esMapPersistence = mapManagerFactory.createMapManager( mapScope );
+
this.rxTaskScheduler = rxTaskScheduler;
- this.queueScope = new QueueScopeImpl(QUEUE_NAME, QueueScope.RegionImplementation.ALL);
+ QueueScope queueScope = new QueueScopeImpl(QUEUE_NAME, QueueScope.RegionImplementation.ALL);
this.queue = queueManagerFactory.getQueueManager(queueScope);
+
this.indexProcessorFig = indexProcessorFig;
+ this.queueFig = queueFig;
this.writeTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.write");
this.readTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.read");
@@@ -271,70 -259,64 +277,78 @@@
logger.debug("callEventHandlers with {} message", messages.size());
}
-- Stream<IndexEventResult> indexEventResults = messages.stream()
-- .map(message -> {
-- AsyncEvent event = null;
-- try {
-- event = (AsyncEvent) message.getBody();
-- } catch (ClassCastException cce) {
-- logger.error("Failed to deserialize message body", cce);
++ Stream<IndexEventResult> indexEventResults = messages.stream().map( message -> {
++ AsyncEvent event = null;
++ try {
++ event = ( AsyncEvent ) message.getBody();
++ }
++ catch ( ClassCastException cce ) {
++ logger.error( "Failed to deserialize message body", cce );
++ }
++
++ if ( event == null ) {
++ logger.error( "AsyncEvent type or event is null!" );
++ return new IndexEventResult( Optional.fromNullable( message ), Optional.<IndexOperationMessage>absent(),
++ System.currentTimeMillis() );
++ }
++
++ final AsyncEvent thisEvent = event;
++ if ( logger.isDebugEnabled() ) {
++ logger.debug( "Processing {} event", event );
++ }
++
++ try {
++ //check for empty sets if this is true
++ boolean validateEmptySets = true;
++ Observable<IndexOperationMessage> indexoperationObservable;
++ //merge each operation to a master observable;
++ if ( event instanceof EdgeDeleteEvent ) {
++ indexoperationObservable = handleEdgeDelete( message );
++ }
++ else if ( event instanceof EdgeIndexEvent ) {
++ indexoperationObservable = handleEdgeIndex( message );
++ }
++ else if ( event instanceof EntityDeleteEvent ) {
++ indexoperationObservable = handleEntityDelete( message );
++ }
++ else if ( event instanceof EntityIndexEvent ) {
++ indexoperationObservable = handleEntityIndexUpdate( message );
++ }
++ else if ( event instanceof InitializeApplicationIndexEvent ) {
++ //does not return observable
++ handleInitializeApplicationIndex( event, message );
++ indexoperationObservable = Observable.just( new IndexOperationMessage() );
++ validateEmptySets = false; //do not check this one for an empty set b/c it will be empty.
++ }
++ else if ( event instanceof ElasticsearchIndexEvent ) {
++ handleIndexOperation( ( ElasticsearchIndexEvent ) event );
++ indexoperationObservable = Observable.just( new IndexOperationMessage() );
++ validateEmptySets = false; //do not check this one for an empty set b/c it will be empty.
}
-- if (event == null) {
-- logger.error("AsyncEvent type or event is null!");
-- return new IndexEventResult(Optional.fromNullable(message), Optional.<IndexOperationMessage>absent(), System.currentTimeMillis());
++ else {
++ throw new Exception( "Unknown EventType" );//TODO: print json instead
}
-- final AsyncEvent thisEvent = event;
-- if (logger.isDebugEnabled()) {
-- logger.debug("Processing {} event", event);
++ //collect all of the
++ IndexOperationMessage indexOperationMessage = indexoperationObservable
++ .collect( () -> new IndexOperationMessage(), ( collector, single ) -> collector.ingest( single ) )
++ .toBlocking().lastOrDefault( null );
++
++ if ( validateEmptySets && ( indexOperationMessage == null || indexOperationMessage.isEmpty() ) ) {
++ logger.error( "Received empty index sequence message:({}), body:({}) ", message.getMessageId(),
++ message.getStringBody() );
++ throw new Exception( "Received empty index sequence." );
}
-- try {
-- //check for empty sets if this is true
-- boolean validateEmptySets = true;
-- Observable<IndexOperationMessage> indexoperationObservable;
-- //merge each operation to a master observable;
-- if (event instanceof EdgeDeleteEvent) {
-- indexoperationObservable = handleEdgeDelete(message);
-- } else if (event instanceof EdgeIndexEvent) {
-- indexoperationObservable = handleEdgeIndex(message);
-- } else if (event instanceof EntityDeleteEvent) {
-- indexoperationObservable = handleEntityDelete(message);
-- } else if (event instanceof EntityIndexEvent) {
-- indexoperationObservable = handleEntityIndexUpdate(message);
-- } else if (event instanceof InitializeApplicationIndexEvent) {
-- //does not return observable
-- handleInitializeApplicationIndex(event, message);
-- indexoperationObservable = Observable.just(new IndexOperationMessage());
- validateEmptySets = false; //do not check this one for an empty set b/c it will be empty.
- } else if (event instanceof ElasticsearchIndexEvent){
- handleIndexOperation( (ElasticsearchIndexEvent)event );
- indexoperationObservable = Observable.just( new IndexOperationMessage() );
-- validateEmptySets = false; //do not check this one for an empty set b/c it will be empty.
- }
-
- else {
- } else {
-- throw new Exception("Unknown EventType");//TODO: print json instead
-- }
--
-- //collect all of the
-- IndexOperationMessage indexOperationMessage =
-- indexoperationObservable
-- .collect(() -> new IndexOperationMessage(), (collector, single) -> collector.ingest(single))
-- .toBlocking().lastOrDefault(null);
--
-- if (validateEmptySets && (indexOperationMessage == null || indexOperationMessage.isEmpty())) {
-- logger.error("Received empty index sequence message:({}), body:({}) ",
-- message.getMessageId(), message.getStringBody());
-- throw new Exception("Received empty index sequence.");
-- }
--
-- //return type that can be indexed and ack'd later
-- return new IndexEventResult(Optional.fromNullable(message), Optional.fromNullable(indexOperationMessage), thisEvent.getCreationTime());
-- } catch (Exception e) {
-- logger.error("Failed to index message: " + message.getMessageId(), message.getStringBody(), e);
-- return new IndexEventResult(Optional.absent(), Optional.<IndexOperationMessage>absent(), event.getCreationTime());
++ //return type that can be indexed and ack'd later
++ return new IndexEventResult( Optional.fromNullable( message ),
++ Optional.fromNullable( indexOperationMessage ), thisEvent.getCreationTime() );
++ }
++ catch ( Exception e ) {
++ logger.error( "Failed to index message: " + message.getMessageId(), message.getStringBody(), e );
++ return new IndexEventResult( Optional.absent(), Optional.<IndexOperationMessage>absent(),
++ event.getCreationTime());
}
});
@@@ -346,8 -328,7 +360,7 @@@
public void queueInitializeApplicationIndex( final ApplicationScope applicationScope) {
IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(
applicationScope );
- offerTopic(
- new InitializeApplicationIndexEvent( new ReplicatedIndexLocationStrategy( indexLocationStrategy ) ) );
- offer(new InitializeApplicationIndexEvent(queueFig.getPrimaryRegion(), new ReplicatedIndexLocationStrategy(indexLocationStrategy)));
++ offerTopic(new InitializeApplicationIndexEvent(queueFig.getPrimaryRegion(), new ReplicatedIndexLocationStrategy(indexLocationStrategy)));
}
@@@ -413,8 -394,8 +426,8 @@@
final EntityCollectionManager ecm = entityCollectionManagerFactory.createCollectionManager( applicationScope );
-- final Observable<IndexOperationMessage> edgeIndexObservable = ecm.load(edgeIndexEvent.getEntityId()).flatMap(entity -> eventBuilder.buildNewEdge(
-- applicationScope, entity, edge));
++ final Observable<IndexOperationMessage> edgeIndexObservable = ecm.load( edgeIndexEvent.getEntityId() ).flatMap(
++ entity -> eventBuilder.buildNewEdge( applicationScope, entity, edge));
return edgeIndexObservable;
}
@@@ -450,84 -431,9 +463,84 @@@
@Override
public void queueEntityDelete(final ApplicationScope applicationScope, final Id entityId) {
- offer( new EntityDeleteEvent( new EntityIdScope( applicationScope, entityId ) ) );
+ offer( new EntityDeleteEvent(queueFig.getPrimaryRegion(), new EntityIdScope( applicationScope, entityId ) ) );
}
+
+ /**
+ * Queue up an indexOperationMessage for multi region execution
+ * @param indexOperationMessage
+ */
+ public void queueIndexOperationMessage( final IndexOperationMessage indexOperationMessage ) {
+
+ final String jsonValue = ObjectJsonSerializer.INSTANCE.toString( indexOperationMessage );
+
+ final UUID newMessageId = UUIDGenerator.newTimeUUID();
+
+ //write to the map in ES
+ esMapPersistence.putString( newMessageId.toString(), jsonValue, indexProcessorFig.getIndexMessageTtl() );
+
+
+
+ //now queue up the index message
+
+ final ElasticsearchIndexEvent elasticsearchIndexEvent = new ElasticsearchIndexEvent( newMessageId );
+
+ //send to the topic so all regions index the batch
+
+ offerTopic( elasticsearchIndexEvent );
+ }
+
+ public void handleIndexOperation(final ElasticsearchIndexEvent elasticsearchIndexEvent){
+ Preconditions.checkNotNull( elasticsearchIndexEvent, "elasticsearchIndexEvent cannot be null" );
+
+ final UUID messageId = elasticsearchIndexEvent.getIndexBatchId();
+
+ Preconditions.checkNotNull( messageId, "messageId must not be null" );
+
+
+ //load the entity
+
+ final String message = esMapPersistence.getString( messageId.toString() );
+
+ String highConsistency = null;
+
+ if(message == null){
+ logger.error( "Received message with id {} to process, unable to find it, reading with higher consistency level" );
+
+ highConsistency = esMapPersistence.getStringHighConsistency( messageId.toString() );
+
+ }
+
+ //read the value from the string
+
+ final IndexOperationMessage indexOperationMessage;
+
+ //our original local read has it, parse it.
+ if(message != null){
+ indexOperationMessage = ObjectJsonSerializer.INSTANCE.fromString( message, IndexOperationMessage.class );
+ }
+ //we tried to read it at a higher consistency level and it works
+ else if (highConsistency != null){
+ indexOperationMessage = ObjectJsonSerializer.INSTANCE.fromString( highConsistency, IndexOperationMessage.class );
+ }
+
+ //we couldn't find it, bail
+ else{
+ logger.error( "Unable to find the ES batch with id {} to process at a higher consistency level" );
+
+ throw new RuntimeException( "Unable to find the ES batch to process with message id " + messageId );
+ }
+
+
+
+ //now execute it
+ indexProducer.put(indexOperationMessage).toBlocking().last();
+
+ }
+
+
+
@Override
public long getQueueDepth() {
return queue.getQueueDepth();
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3e155852/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
----------------------------------------------------------------------
diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
index 3865ecb,8b44714..1649046
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
@@@ -28,7 -27,7 +27,8 @@@ import org.apache.usergrid.persistence.
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.impl.IndexProducer;
+import org.apache.usergrid.persistence.map.MapManagerFactory;
+ import org.apache.usergrid.persistence.queue.QueueFig;
import org.apache.usergrid.persistence.queue.QueueManagerFactory;
import com.google.inject.Inject;
@@@ -52,18 -51,21 +52,24 @@@ public class AsyncIndexProvider impleme
private final IndexLocationStrategyFactory indexLocationStrategyFactory;
private final EntityIndexFactory entityIndexFactory;
private final IndexProducer indexProducer;
+ private final MapManagerFactory mapManagerFactory;
+ private final QueueFig queueFig;
private AsyncEventService asyncEventService;
@Inject
- public AsyncIndexProvider( final IndexProcessorFig indexProcessorFig, final QueueManagerFactory queueManagerFactory,
- final MetricsFactory metricsFactory, final RxTaskScheduler rxTaskScheduler, final
- EntityCollectionManagerFactory entityCollectionManagerFactory,
- final EventBuilder eventBuilder, final IndexLocationStrategyFactory indexLocationStrategyFactory,
- final EntityIndexFactory entityIndexFactory, final IndexProducer indexProducer,
- final MapManagerFactory mapManagerFactory ) {
+ public AsyncIndexProvider(final IndexProcessorFig indexProcessorFig,
+ final QueueManagerFactory queueManagerFactory,
+ final MetricsFactory metricsFactory,
+ final RxTaskScheduler rxTaskScheduler,
+ final EntityCollectionManagerFactory entityCollectionManagerFactory,
+ final EventBuilder eventBuilder,
+ final IndexLocationStrategyFactory indexLocationStrategyFactory,
+ final EntityIndexFactory entityIndexFactory,
- final IndexProducer indexProducer, QueueFig queueFig) {
++ final IndexProducer indexProducer,
++ final MapManagerFactory mapManagerFactory,
++ final QueueFig queueFig) {
this.indexProcessorFig = indexProcessorFig;
this.queueManagerFactory = queueManagerFactory;
@@@ -74,7 -76,7 +80,8 @@@
this.indexLocationStrategyFactory = indexLocationStrategyFactory;
this.entityIndexFactory = entityIndexFactory;
this.indexProducer = indexProducer;
+ this.mapManagerFactory = mapManagerFactory;
+ this.queueFig = queueFig;
}
@@@ -98,11 -100,11 +105,10 @@@
case LOCAL:
return new InMemoryAsyncEventService(eventBuilder, rxTaskScheduler, indexProducer,indexProcessorFig.resolveSynchronously());
case SQS:
-- return new AmazonAsyncEventService(queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, mapManagerFactory, rxTaskScheduler );
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler,queueFig );
++ throw new IllegalArgumentException("Configuration value of SQS is no longer allowed. Use SNS instead");
case SNS:
return new AmazonAsyncEventService(queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, mapManagerFactory, rxTaskScheduler );
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler, queueFig);
++ entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler );
default:
throw new IllegalArgumentException("Configuration value of " + getErrorValues() + " are allowed");
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3e155852/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3e155852/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
----------------------------------------------------------------------
diff --cc stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
index e83d6f8,5b921d9..8ee47a2
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
@@@ -89,7 -89,7 +93,7 @@@ public class AmazonAsyncEventServiceTes
@Override
protected AsyncEventService getAsyncEventService() {
- return new AmazonAsyncEventService( queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory, entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, mapManagerFactory, rxTaskScheduler );
- return new AmazonAsyncEventService( queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory, entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, rxTaskScheduler, queueFig );
++ return new AmazonAsyncEventService( queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory, entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, rxTaskScheduler );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3e155852/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --cc stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index a3fa05e,5ab1a4b..58b2a4d
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@@ -226,44 -171,43 +226,44 @@@ public class SNSQueueManagerImpl implem
String multiRegion = fig.getRegionList();
- if (logger.isDebugEnabled())
- logger.debug("MultiRegion Setup specified, regions: [{}]", multiRegion);
+ if ( logger.isDebugEnabled() ) {
+ logger.debug( "MultiRegion Setup specified, regions: [{}]", multiRegion );
+ }
- String[] regionNames = multiRegion.split(",");
+ String[] regionNames = multiRegion.split( "," );
- final Map<String, String> arrQueueArns = new HashMap<>(regionNames.length + 1);
- final Map<String, String> topicArns = new HashMap<>(regionNames.length + 1);
+ final Map<String, String> arrQueueArns = new HashMap<>( regionNames.length + 1 );
+ final Map<String, String> topicArns = new HashMap<>( regionNames.length + 1 );
- arrQueueArns.put( primaryQueueArn, fig.getRegion() );
- topicArns.put( primaryTopicArn, fig.getRegion() );
+ arrQueueArns.put(primaryQueueArn, fig.getPrimaryRegion());
+ topicArns.put(primaryTopicArn, fig.getPrimaryRegion());
- for (String regionName : regionNames) {
+ for ( String regionName : regionNames ) {
regionName = regionName.trim();
- Regions regions = Regions.fromName(regionName);
- Region region = Region.getRegion(regions);
+ Regions regions = Regions.fromName( regionName );
+ Region region = Region.getRegion( regions );
- AmazonSQSClient sqsClient = createSQSClient(region);
- AmazonSNSClient snsClient = createSNSClient(region); // do this stuff synchronously
+ AmazonSQSClient sqsClient = createSQSClient( region );
+ AmazonSNSClient snsClient = createSNSClient( region ); // do this stuff synchronously
// getTopicArn will create the SNS topic if it doesn't exist
- String topicArn = AmazonNotificationUtils.getTopicArn(snsClient, queueName, true);
- topicArns.put(topicArn, regionName);
+ String topicArn = AmazonNotificationUtils.getTopicArn( snsClient, queueName, true );
+ topicArns.put( topicArn, regionName );
// create the SQS queue if it doesn't exist
- String queueArn = AmazonNotificationUtils.getQueueArnByName(sqsClient, queueName);
- if (queueArn == null) {
- queueUrl = AmazonNotificationUtils.createQueue(sqsClient, queueName, fig);
- queueArn = AmazonNotificationUtils.getQueueArnByUrl(sqsClient, queueUrl);
+ String queueArn = AmazonNotificationUtils.getQueueArnByName( sqsClient, queueName );
+ if ( queueArn == null ) {
+ queueUrl = AmazonNotificationUtils.createQueue( sqsClient, queueName, fig );
+ queueArn = AmazonNotificationUtils.getQueueArnByUrl( sqsClient, queueUrl );
}
- arrQueueArns.put(queueArn, regionName);
+ arrQueueArns.put( queueArn, regionName );
}
- logger.debug("Creating Subscriptions...");
+ logger.debug( "Creating Subscriptions..." );
- for (Map.Entry<String, String> queueArnEntry : arrQueueArns.entrySet()) {
+ for ( Map.Entry<String, String> queueArnEntry : arrQueueArns.entrySet() ) {
String queueARN = queueArnEntry.getKey();
String strSqsRegion = queueArnEntry.getValue();
@@@ -650,10 -519,12 +650,10 @@@
/**
* Get the region
- *
- * @return
*/
private Region getRegion() {
- Regions regions = Regions.fromName( fig.getRegion() );
- return Region.getRegion( regions );
+ Regions regions = Regions.fromName(fig.getPrimaryRegion());
+ return Region.getRegion(regions);
}
[43/50] [abbrv] usergrid git commit: adding jacoco back
Posted by sn...@apache.org.
adding jacoco back
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/a6160757
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/a6160757
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/a6160757
Branch: refs/heads/asf-site
Commit: a61607579e1e31d24f52d6806043155e3f9ac5a4
Parents: ec726b6
Author: Shawn Feldman <sf...@apache.org>
Authored: Fri Oct 23 15:20:33 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Fri Oct 23 15:20:33 2015 -0600
----------------------------------------------------------------------
stack/pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6160757/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index aba1c0b..a08a4d7 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1474,8 +1474,8 @@
<threadCount>${usergrid.it.forkCount}</threadCount>
<!-- see this page for documentation on classloading issues http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html -->
<useSystemClassLoader>false</useSystemClassLoader>
- <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
- <!--<argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>-->
+ <!--<argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>-->
+ <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
<testFailureIgnore>false</testFailureIgnore>
<systemPropertyVariables>
[10/50] [abbrv] usergrid git commit: Updates the defaults to be more
sensible in a multi-region environment
Posted by sn...@apache.org.
Updates the defaults to be more sensible in a multi-region environment
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/3ec0f588
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/3ec0f588
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/3ec0f588
Branch: refs/heads/asf-site
Commit: 3ec0f5886b82737d4a7ed64fae01afbdb6707763
Parents: 4013f17
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Oct 19 17:44:39 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Oct 19 17:44:39 2015 -0600
----------------------------------------------------------------------
.../corepersistence/index/PublishRxTest.java | 95 ----------------
.../usergrid/corepersistence/index/RxTest.java | 108 +++++++++++++++++++
.../persistence/core/astyanax/CassandraFig.java | 6 +-
3 files changed, 111 insertions(+), 98 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3ec0f588/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxTest.java
deleted file mode 100644
index 973a42d..0000000
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.usergrid.corepersistence.index;
-
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-import rx.Observable;
-import rx.Subscription;
-import rx.observables.ConnectableObservable;
-import rx.schedulers.Schedulers;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-
-/**
- * Test to test some assumptions about RX behaviors
- */
-public class PublishRxTest {
-
- @Test
- public void testPublish() throws InterruptedException {
-
- final int count = 10;
-
- final CountDownLatch latch = new CountDownLatch( count );
-
- final Subscription connectedObservable =
- Observable.range( 0, count ).doOnNext( integer -> latch.countDown() ).subscribeOn( Schedulers.io() )
- .subscribe();
-
-
- final boolean completed = latch.await( 5, TimeUnit.SECONDS );
-
- assertTrue( "publish1 behaves as expected", completed );
-
- final boolean completedSubscription = connectedObservable.isUnsubscribed();
-
- assertTrue( "Subscription complete", completedSubscription );
- }
-
-
- @Test
- @Ignore("This seems like it should work, yet blocks forever")
- public void testConnectableObserver() throws InterruptedException {
-
- final int count = 10;
-
- final CountDownLatch latch = new CountDownLatch( count );
-
- final ConnectableObservable<Integer> connectedObservable = Observable.range( 0, count ).publish();
-
-
- //connect to our latch, which should run on it's own subscription
- //start our latch running
- connectedObservable.doOnNext( integer -> latch.countDown() ).subscribeOn( Schedulers.io() ).subscribe();
-
-
- final Observable<Integer> countObservable = connectedObservable.subscribeOn( Schedulers.io() ).count();
-
- //start the sequence
- connectedObservable.connect();
-
-
- final boolean completed = latch.await( 5, TimeUnit.SECONDS );
-
- assertTrue( "publish1 behaves as expected", completed );
-
- final int returnedCount = countObservable.toBlocking().last();
-
- assertEquals( "Counts the same", count, returnedCount );
- }
-}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3ec0f588/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java
new file mode 100644
index 0000000..1d940d0
--- /dev/null
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/RxTest.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.usergrid.corepersistence.index;
+
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.Ignore;
+import org.junit.Test;
+
+import rx.Observable;
+import rx.Subscription;
+import rx.observables.ConnectableObservable;
+import rx.schedulers.Schedulers;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+
+/**
+ * Test to test some assumptions about RX behaviors
+ */
+public class RxTest {
+
+ @Test
+ public void testPublish() throws InterruptedException {
+
+ final int count = 10;
+
+ final CountDownLatch latch = new CountDownLatch( count );
+
+ final Subscription connectedObservable =
+ Observable.range( 0, count ).doOnNext( integer -> latch.countDown() ).subscribeOn( Schedulers.io() )
+ .subscribe();
+
+
+ final boolean completed = latch.await( 5, TimeUnit.SECONDS );
+
+ assertTrue( "publish1 behaves as expected", completed );
+
+ final boolean completedSubscription = connectedObservable.isUnsubscribed();
+
+ assertTrue( "Subscription complete", completedSubscription );
+ }
+
+
+ @Test
+ @Ignore("This seems like it should work, yet blocks forever")
+ public void testConnectableObserver() throws InterruptedException {
+
+ final int count = 10;
+
+ final CountDownLatch latch = new CountDownLatch( count );
+
+ final ConnectableObservable<Integer> connectedObservable = Observable.range( 0, count ).publish();
+
+
+ //connect to our latch, which should run on it's own subscription
+ //start our latch running
+ connectedObservable.doOnNext( integer -> latch.countDown() ).subscribeOn( Schedulers.io() ).subscribe();
+
+
+ final Observable<Integer> countObservable = connectedObservable.subscribeOn( Schedulers.io() ).count();
+
+ //start the sequence
+ connectedObservable.connect();
+
+
+ final boolean completed = latch.await( 5, TimeUnit.SECONDS );
+
+ assertTrue( "publish1 behaves as expected", completed );
+
+ final int returnedCount = countObservable.toBlocking().last();
+
+ assertEquals( "Counts the same", count, returnedCount );
+ }
+
+
+ /**
+ * Tests that reduce emits
+ */
+ @Test
+ public void testReduceEmpty(){
+ final int result = Observable.range( 0, 100 ).filter( value -> value == -1 ).reduce( 0, ( integer, integer2 ) -> integer + 1 ).toBlocking().last();
+
+ assertEquals(0, result);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3ec0f588/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
index 79c198f..e98e0fd 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
@@ -79,15 +79,15 @@ public interface CassandraFig extends GuicyFig {
String getDiscoveryType();
- @Default("CL_LOCAL_ONE")
+ @Default("CL_LOCAL_QUORUM")
@Key(READ_CL)
String getReadCL();
- @Default("CL_LOCAL_QUORUM")
+ @Default("CL_QUORUM")
@Key(READ_CONSISTENT_CL)
String getConsistentReadCL();
- @Default("CL_QUORUM")
+ @Default("CL_LOCAL_QUORUM")
@Key(WRITE_CL)
String getWriteCL();
[33/50] [abbrv] usergrid git commit: Add ability to generate master
Jacoco report for all stack modules,
plus some fixes to POM files that were double declaring the Surefire plugin.
Posted by sn...@apache.org.
Add ability to generate master Jacoco report for all stack modules, plus some fixes to POM files that were double declaring the Surefire plugin.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/14e2a9d9
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/14e2a9d9
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/14e2a9d9
Branch: refs/heads/asf-site
Commit: 14e2a9d976492c55b22cab94529cb13939187264
Parents: c812403
Author: Dave Johnson <sn...@apache.org>
Authored: Thu Oct 22 11:26:43 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Thu Oct 22 11:26:43 2015 -0400
----------------------------------------------------------------------
stack/Coverage.md | 17 +++++-
stack/corepersistence/collection/pom.xml | 13 -----
stack/corepersistence/graph/pom.xml | 11 +---
stack/corepersistence/pom.xml | 80 +++++++++++++++++++++++----
stack/corepersistence/queryindex/pom.xml | 15 +----
stack/pom.xml | 19 +++++--
stack/test-utils/pom.xml | 8 ---
7 files changed, 104 insertions(+), 59 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14e2a9d9/stack/Coverage.md
----------------------------------------------------------------------
diff --git a/stack/Coverage.md b/stack/Coverage.md
index a2c1e47..f36ba71 100644
--- a/stack/Coverage.md
+++ b/stack/Coverage.md
@@ -1,7 +1,11 @@
Generating Coverage reports
---
-run this command: mvn verify jacoco:report
+To generate Jacoco coverage reports for Usergrid, run this command in the usergrid/stack directory:
+
+ mvn verify jacoco:report
+
+Note that all tests must pass, or some Jacoco files will be missing and report generation is likely to fail complete.
Once you do that the below coverage reports will be available.
@@ -19,3 +23,14 @@ Coverage reports
* [./services/target/site/jacoco/index.html](file:./services/target/site/jacoco/index.html)
* [./rest/target/site/jacoco/index.html](file:./services/target/site/jacoco/index.html)
+Master Coverage report
+---
+
+After you run the above command to generate Jacoco reports, you can run this command to generate a master report:
+
+ mvn -f jacoco-pom.xml install
+
+The master report will be available at this link:
+
+* [./target/coverage-report/html/index.html](file:./target/coverage-report/html/index.html)
+
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14e2a9d9/stack/corepersistence/collection/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/pom.xml b/stack/corepersistence/collection/pom.xml
index 62fadf7..1a1d51a 100644
--- a/stack/corepersistence/collection/pom.xml
+++ b/stack/corepersistence/collection/pom.xml
@@ -32,25 +32,14 @@
<dependencies>
-<!-- <dependency>
- <groupId>org.safehaus.chop</groupId>
- <artifactId>chop-api</artifactId>
- <version>${chop.version}</version>
- </dependency>-->
-
<!-- Google Guice Integration Test Injectors -->
-
<dependency>
<groupId>org.apache.usergrid</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
</dependency>
-
-
-
-
<!-- tests -->
<dependency>
@@ -61,7 +50,6 @@
<scope>test</scope>
</dependency>
-
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
@@ -69,6 +57,5 @@
<scope>test</scope>
</dependency>
-
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14e2a9d9/stack/corepersistence/graph/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/pom.xml b/stack/corepersistence/graph/pom.xml
index 4a3a8a7..f7c5541 100644
--- a/stack/corepersistence/graph/pom.xml
+++ b/stack/corepersistence/graph/pom.xml
@@ -103,15 +103,8 @@
<argLine>
-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
</argLine>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <!-- We want to exclude any chop tests or stress tests. They kill the embedded cassandra and
- aren't intended to be part of the build process-->
+ <!-- We want to exclude any chop tests or stress tests.
+ They kill the embedded cassandra and aren't intended to be part of the build process-->
<excludes>
<exclude>**/*ChopTest.java</exclude>
<exclude>**/*LoadTest.java</exclude>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14e2a9d9/stack/corepersistence/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/pom.xml b/stack/corepersistence/pom.xml
index d216a56..1ca08f6 100644
--- a/stack/corepersistence/pom.xml
+++ b/stack/corepersistence/pom.xml
@@ -95,29 +95,86 @@ limitations under the License.
<pluginManagement>
<plugins>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
+ <configuration>
+ <includes>
+ <include>**/*Test.java</include>
+ <include>**/*IT.java</include>
+ </includes>
+ <systemPropertyVariables>
+ <archaius.deployment.environment>UNIT</archaius.deployment.environment>
+ </systemPropertyVariables>
+ <argLine>-Xms2G -Xmx4G</argLine>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+
+ <executions>
+ <execution>
+ <id>default-prepare-agent</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-report</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-check</id>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <rule>
+ <element>BUNDLE</element>
+ <limits>
+ <limit>
+ <counter>COMPLEXITY</counter>
+ <value>COVEREDRATIO</value>
+ <!-- we should increase this as our coverage increases -->
+ <minimum>0.10</minimum>
+ </limit>
+ </limits>
+ </rule>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+
+ <configuration>
+ <fileSets>
+ <fileSet>
+ <directory>${project.build.directory}</directory>
+ <includes>
+ <include>jacoco.exec</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </configuration>
+
</plugin>
+
</plugins>
</pluginManagement>
<plugins>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration>
- <includes>
- <include>**/*Test.java</include>
- <include>**/*IT.java</include>
- </includes>
- <systemPropertyVariables>
- <archaius.deployment.environment>UNIT</archaius.deployment.environment>
- </systemPropertyVariables>
- <argLine>-Xms2G -Xmx4G</argLine>
- </configuration>
</plugin>
<plugin>
@@ -133,7 +190,6 @@ limitations under the License.
</executions>
</plugin>
-
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14e2a9d9/stack/corepersistence/queryindex/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/pom.xml b/stack/corepersistence/queryindex/pom.xml
index e2694c4..c319c3e 100644
--- a/stack/corepersistence/queryindex/pom.xml
+++ b/stack/corepersistence/queryindex/pom.xml
@@ -51,6 +51,9 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
+ <argLine>
+ -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
+ </argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
@@ -59,22 +62,10 @@
<excludes>
<exclude>**/IndexLoadTestsIT.java</exclude>
</excludes>
-
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- <configuration>
- <argLine>
- -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
- </argLine>
- </configuration>
- </plugin>
-
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14e2a9d9/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 344502c..6498595 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1536,14 +1536,13 @@
</goals>
<configuration>
<rules>
- <!-- implementation is needed only for Maven 2 -->
- <rule implementation="org.jacoco.maven.RuleConfiguration">
+ <rule>
<element>BUNDLE</element>
<limits>
- <!-- implementation is needed only for Maven 2 -->
- <limit implementation="org.jacoco.report.check.Limit">
+ <limit>
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
+ <!-- we should increase this as our coverage increases -->
<minimum>0.30</minimum>
</limit>
</limits>
@@ -1553,6 +1552,17 @@
</execution>
</executions>
+ <configuration>
+ <fileSets>
+ <fileSet>
+ <directory>${project.build.directory}</directory>
+ <includes>
+ <include>jacoco.exec</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </configuration>
+
</plugin>
<plugin>
@@ -1670,6 +1680,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
+ <version>2.10</version>
<configuration>
<configLocation>usergrid/checkstyle.xml</configLocation>
</configuration>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14e2a9d9/stack/test-utils/pom.xml
----------------------------------------------------------------------
diff --git a/stack/test-utils/pom.xml b/stack/test-utils/pom.xml
index a673b49..6478c4e 100644
--- a/stack/test-utils/pom.xml
+++ b/stack/test-utils/pom.xml
@@ -242,7 +242,6 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
@@ -270,13 +269,6 @@
<artifactId>tomcat-jsp-api</artifactId>
</dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- </dependency>
-
-
</dependencies>
</project>
[12/50] [abbrv] usergrid git commit: Merge branch 'USERGRID-1048' of
https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1048
Posted by sn...@apache.org.
Merge branch 'USERGRID-1048' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1048
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d8e65721
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d8e65721
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d8e65721
Branch: refs/heads/asf-site
Commit: d8e6572196b1c9245854ce1351d4d2171fbde80b
Parents: 3a7e60b 3ec0f58
Author: Michael Russo <mi...@gmail.com>
Authored: Mon Oct 19 17:07:31 2015 -0700
Committer: Michael Russo <mi...@gmail.com>
Committed: Mon Oct 19 17:07:31 2015 -0700
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 4 +
.../corepersistence/index/PublishRxTest.java | 95 ----------------
.../usergrid/corepersistence/index/RxTest.java | 108 +++++++++++++++++++
.../persistence/core/astyanax/CassandraFig.java | 6 +-
4 files changed, 115 insertions(+), 98 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d8e65721/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
[04/50] [abbrv] usergrid git commit: Fixes empty payload notification
issue.
Posted by sn...@apache.org.
Fixes empty payload notification issue.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0326629a
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0326629a
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0326629a
Branch: refs/heads/asf-site
Commit: 0326629a24cec3bd44d91810b4b8f0516c69c9b8
Parents: 3e15585
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Oct 19 13:53:30 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Oct 19 13:53:30 2015 -0600
----------------------------------------------------------------------
.../asyncevents/AmazonAsyncEventService.java | 55 ++++++++++++--------
.../asyncevents/AsyncIndexProvider.java | 4 +-
.../index/AmazonAsyncEventServiceTest.java | 2 +-
3 files changed, 36 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0326629a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index f8ef5e7..6b2eb45 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -89,6 +89,21 @@ import rx.Subscription;
import rx.schedulers.Schedulers;
+/**
+ * TODO, this whole class is becoming a nightmare. We need to remove all consume from this class and refactor it into the following manner.
+ *
+ * 1. Produce. Keep the code in the handle as is
+ * 2. Consume: Move the code into a refactored system
+ * 2.1 A central dispatcher
+ * 2.2 An interface that produces an observable of type BatchOperation. Any handler will be refactored into it's own
+ * impl that will then emit a stream of batch operations to perform
+ * 2.3 The central dispatcher will then subscribe to these events and merge them. Handing them off to a batch handler
+ * 2.4 The batch handler will roll up the operations into a batch size, and then queue them
+ * 2.5 The receive batch handler will execute the batch operations
+ *
+ * TODO determine how we error handle?
+ *
+ */
@Singleton
public class AmazonAsyncEventService implements AsyncEventService {
@@ -360,7 +375,8 @@ public class AmazonAsyncEventService implements AsyncEventService {
public void queueInitializeApplicationIndex( final ApplicationScope applicationScope) {
IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(
applicationScope );
- offerTopic(new InitializeApplicationIndexEvent(queueFig.getPrimaryRegion(), new ReplicatedIndexLocationStrategy(indexLocationStrategy)));
+ offerTopic( new InitializeApplicationIndexEvent( queueFig.getPrimaryRegion(),
+ new ReplicatedIndexLocationStrategy( indexLocationStrategy ) ) );
}
@@ -503,35 +519,29 @@ public class AmazonAsyncEventService implements AsyncEventService {
final String message = esMapPersistence.getString( messageId.toString() );
- String highConsistency = null;
+ final IndexOperationMessage indexOperationMessage;
if(message == null){
logger.error( "Received message with id {} to process, unable to find it, reading with higher consistency level" );
- highConsistency = esMapPersistence.getStringHighConsistency( messageId.toString() );
-
- }
+ final String highConsistency = esMapPersistence.getStringHighConsistency( messageId.toString() );
- //read the value from the string
+ if(highConsistency == null){
+ logger.error( "Unable to find the ES batch with id {} to process at a higher consistency level" );
- final IndexOperationMessage indexOperationMessage;
+ throw new RuntimeException( "Unable to find the ES batch to process with message id " + messageId );
+ }
- //our original local read has it, parse it.
- if(message != null){
- indexOperationMessage = ObjectJsonSerializer.INSTANCE.fromString( message, IndexOperationMessage.class );
- }
- //we tried to read it at a higher consistency level and it works
- else if (highConsistency != null){
indexOperationMessage = ObjectJsonSerializer.INSTANCE.fromString( highConsistency, IndexOperationMessage.class );
- }
- //we couldn't find it, bail
- else{
- logger.error( "Unable to find the ES batch with id {} to process at a higher consistency level" );
-
- throw new RuntimeException( "Unable to find the ES batch to process with message id " + messageId );
+ } else{
+ indexOperationMessage = ObjectJsonSerializer.INSTANCE.fromString( message, IndexOperationMessage.class );
}
+ //read the value from the string
+
+ Preconditions.checkNotNull( indexOperationMessage, "indexOperationMessage cannot be null" );
+ Preconditions.checkArgument( !indexOperationMessage.isEmpty() , "queued indexOperationMessage messages should not be empty" );
//now execute it
@@ -728,9 +738,10 @@ public class AmazonAsyncEventService implements AsyncEventService {
.map(result -> result.getQueueMessage().get())
.collect(Collectors.toList());
- //send the batch
- //TODO: should retry?
- queueIndexOperationMessage( combined );
+ //only Q it if it's empty
+ if(!combined.isEmpty()) {
+ queueIndexOperationMessage( combined );
+ }
return messagesToAck;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0326629a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
index 1649046..2bace8d 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
@@ -105,10 +105,10 @@ public class AsyncIndexProvider implements Provider<AsyncEventService> {
case LOCAL:
return new InMemoryAsyncEventService(eventBuilder, rxTaskScheduler, indexProducer,indexProcessorFig.resolveSynchronously());
case SQS:
- throw new IllegalArgumentException("Configuration value of SQS is no longer allowed. Use SNS instead");
+ throw new IllegalArgumentException("Configuration value of SQS is no longer allowed. Use SNS instead with only a single region");
case SNS:
return new AmazonAsyncEventService(queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory,
- entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, rxTaskScheduler );
+ entityCollectionManagerFactory, indexLocationStrategyFactory,entityIndexFactory, eventBuilder, mapManagerFactory, queueFig, rxTaskScheduler );
default:
throw new IllegalArgumentException("Configuration value of " + getErrorValues() + " are allowed");
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/0326629a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
index 8ee47a2..625a8fd 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AmazonAsyncEventServiceTest.java
@@ -93,7 +93,7 @@ public class AmazonAsyncEventServiceTest extends AsyncIndexServiceTest {
@Override
protected AsyncEventService getAsyncEventService() {
- return new AmazonAsyncEventService( queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory, entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, rxTaskScheduler );
+ return new AmazonAsyncEventService( queueManagerFactory, indexProcessorFig, indexProducer, metricsFactory, entityCollectionManagerFactory, indexLocationStrategyFactory, entityIndexFactory, eventBuilder, mapManagerFactory, queueFig, rxTaskScheduler );
}
[20/50] [abbrv] usergrid git commit: Fixes incorrect units on timeout
from millis to seconds.
Posted by sn...@apache.org.
Fixes incorrect units on timeout from millis to seconds.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/1fe1d1a3
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/1fe1d1a3
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/1fe1d1a3
Branch: refs/heads/asf-site
Commit: 1fe1d1a34e806ebfc53d0c6cb729e7e4aab804a1
Parents: e50835f
Author: Todd Nine <tn...@apigee.com>
Authored: Tue Oct 20 11:37:03 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Tue Oct 20 11:44:35 2015 -0600
----------------------------------------------------------------------
.../corepersistence/asyncevents/AmazonAsyncEventService.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fe1d1a3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index 6f779b5..7034a67 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -25,6 +25,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -491,8 +492,11 @@ public class AmazonAsyncEventService implements AsyncEventService {
final UUID newMessageId = UUIDGenerator.newTimeUUID();
+ final int expirationTimeInSeconds =
+ ( int ) TimeUnit.MILLISECONDS.toSeconds( indexProcessorFig.getIndexMessageTtl() );
+
//write to the map in ES
- esMapPersistence.putString( newMessageId.toString(), jsonValue, indexProcessorFig.getIndexMessageTtl() );
+ esMapPersistence.putString( newMessageId.toString(), jsonValue, expirationTimeInSeconds );