You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2015/11/12 23:15:05 UTC
[15/15] usergrid git commit: Merge branch 'refs/heads/2.1-release'
Merge branch 'refs/heads/2.1-release'
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/14dd48d3
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/14dd48d3
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/14dd48d3
Branch: refs/heads/master
Commit: 14dd48d39d37abf97092264003942dcb73b3ccdf
Parents: 67ab244 6f61b05
Author: Todd Nine <tn...@apigee.com>
Authored: Thu Nov 12 15:14:44 2015 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Thu Nov 12 15:14:44 2015 -0700
----------------------------------------------------------------------
.../usergrid/corepersistence/CoreModule.java | 132 ++++++++++++++-----
.../asyncevents/AmazonAsyncEventService.java | 39 +++++-
.../asyncevents/AsyncEventsSchedulerFig.java | 94 +++++++++++++
.../asyncevents/AsyncIndexProvider.java | 2 +-
.../asyncevents/EventExecutionScheduler.java | 37 ++++++
.../traverse/ReadGraphCollectionFilter.java | 3 +-
.../traverse/ReadGraphConnectionFilter.java | 3 +-
.../corepersistence/rx/impl/AsyncRepair.java | 38 ++++++
.../rx/impl/ResponseImportTasks.java | 38 ++++++
.../service/ServiceSchedulerFig.java | 66 ++++++++++
.../collection/guice/CollectionModule.java | 32 +++++
.../guice/CollectionTaskExecutor.java | 35 -----
.../EntityCollectionManagerFactoryImpl.java | 5 +-
.../impl/EntityCollectionManagerImpl.java | 17 ++-
.../mvcc/stage/delete/UniqueCleanup.java | 12 +-
.../mvcc/stage/write/WriteCommit.java | 10 +-
.../scheduler/CollectionExecutorScheduler.java | 52 ++++++++
.../scheduler/CollectionSchedulerFig.java | 53 ++++++++
.../collection/EntityCollectionManagerIT.java | 68 ++++++++++
.../mvcc/stage/delete/MarkCommitTest.java | 2 +-
.../mvcc/stage/write/WriteCommitTest.java | 2 +-
.../core/executor/TaskExecutorFactory.java | 108 +++++++++++----
.../persistence/core/guice/CommonModule.java | 25 ++--
.../persistence/core/rx/RxSchedulerFig.java | 71 ----------
.../core/rx/RxTaskSchedulerImpl.java | 81 +-----------
.../index/impl/DeIndexOperation.java | 4 +-
.../persistence/index/impl/IndexingUtils.java | 21 +++
.../index/impl/IndexingUtilsTest.java | 36 +++++
.../usergrid/services/AbstractService.java | 13 +-
29 files changed, 815 insertions(+), 284 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14dd48d3/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
----------------------------------------------------------------------
diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
index ae69b6f,5d2d8dc..aacf6e9
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
@@@ -16,7 -16,8 +16,9 @@@
package org.apache.usergrid.corepersistence;
+import org.apache.usergrid.persistence.cache.guice.CacheModule;
+ import java.util.concurrent.ThreadPoolExecutor;
+
import org.safehaus.guicyfig.GuicyFigModule;
import org.apache.usergrid.corepersistence.asyncevents.AsyncEventService;
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14dd48d3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14dd48d3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncIndexProvider.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14dd48d3/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexingUtils.java
----------------------------------------------------------------------
diff --cc stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexingUtils.java
index 90840af,179b3c4..adaed0f
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexingUtils.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexingUtils.java
@@@ -223,44 -221,46 +223,61 @@@ public class IndexingUtils
}
- /**
- * Parse the document id into a candidate result
- */
- public static CandidateResult parseIndexDocId( final String documentId ) {
+ public static CandidateResult parseIndexDocId( final SearchHit hit ) {
+ return parseIndexDocId(hit.getId());
+ }
+
+ public static CandidateResult parseIndexDocId( final SearchHit hit, boolean isGeo ) {
+ final String documentId = hit.getId();
+ final double distance = isGeo ? (double) hit.sortValues()[0] : -1;
+ return parseIndexDocId(documentId,distance);
+ }
+
+ public static CandidateResult parseIndexDocId( final String documentId ) {
+ return parseIndexDocId(documentId,-1);
+ }
+ /**
+ * Parse the document id into a candidate result
+ */
+ public static CandidateResult parseIndexDocId( final String documentId, final double distance ) {
- final Matcher matcher = DOCUMENT_PATTERN.matcher( documentId );
+ final Matcher matcher = DOCUMENT_PATTERN.matcher(documentId);
- Preconditions.checkArgument( matcher.matches(), "Pattern for document id did not match expected format" );
- Preconditions.checkArgument( matcher.groupCount() == 9, "9 groups expected in the pattern" );
+ Preconditions.checkArgument(matcher.matches(), "Pattern for document id did not match expected format");
+ Preconditions.checkArgument(matcher.groupCount() == 9, "9 groups expected in the pattern");
//Other fields can be parsed using groups. The groups start at value 1, group 0 is the entire match
- final String entityUUID = matcher.group( 3 );
- final String entityType = matcher.group( 4 );
+ final String entityUUID = matcher.group(3);
+ final String entityType = matcher.group(4);
- final String versionUUID = matcher.group( 5 );
+ final String versionUUID = matcher.group(5);
- Id entityId = new SimpleId( UUID.fromString( entityUUID ), entityType );
+ Id entityId = new SimpleId(UUID.fromString(entityUUID), entityType);
- return new CandidateResult( entityId, UUID.fromString( versionUUID ), documentId );
+ return distance >= 0
+ ? new GeoCandidateResult(entityId, UUID.fromString(versionUUID), documentId, distance)
+ : new CandidateResult(entityId, UUID.fromString(versionUUID), documentId);
}
+ /**
+ * Parse the document id into a candidate result
+ */
+ public static UUID parseAppIdFromIndexDocId( final String documentId) {
+
+ final Matcher matcher = DOCUMENT_PATTERN.matcher(documentId);
+
+ Preconditions.checkArgument(matcher.matches(), "Pattern for document id did not match expected format");
+ Preconditions.checkArgument(matcher.groupCount() == 9, "9 groups expected in the pattern");
+
+ //Other fields can be parsed using groups. The groups start at value 1, group 0 is the entire match
+ final String appUUID = matcher.group(1);
+
+ return UUID.fromString(appUUID);
+
+ }
+
/**
* Get the entity type
http://git-wip-us.apache.org/repos/asf/usergrid/blob/14dd48d3/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
----------------------------------------------------------------------
diff --cc stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
index e7d4fc4,3887f92..88d87fe
--- a/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
@@@ -27,7 -27,9 +27,10 @@@ import java.util.Set
import java.util.UUID;
import com.codahale.metrics.Timer;
+import org.apache.usergrid.persistence.cache.CacheFactory;
+
+ import org.apache.usergrid.corepersistence.rx.impl.ResponseImportTasks;
+ import org.apache.usergrid.corepersistence.service.ServiceSchedulerFig;
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.core.metrics.ObservableTimer;
import org.slf4j.Logger;