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/20 19:43:13 UTC
[1/4] usergrid git commit: Update the visibility timeout used when
taking messages from SQS as it overrides the queue's configured/default
timeout. Also change the queue's visibility timeout property to be exposed as
milliseconds for consistency.
Repository: usergrid
Updated Branches:
refs/heads/jacoco 29f5717fc -> fb69ba3e9
Update the visibility timeout used when taking messages from SQS as it overrides the queue's configured/default timeout. Also change the queue's visibility timeout property to be exposed as milliseconds for consistency.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2b22c610
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2b22c610
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2b22c610
Branch: refs/heads/jacoco
Commit: 2b22c610ddc3b9f9f08777fe5467713efe2ba553
Parents: 0f589f6
Author: Michael Russo <mi...@gmail.com>
Authored: Thu Oct 15 10:23:29 2015 -0700
Committer: Michael Russo <mi...@gmail.com>
Committed: Thu Oct 15 10:23:29 2015 -0700
----------------------------------------------------------------------
.../usergrid/corepersistence/index/IndexProcessorFig.java | 7 +++----
.../java/org/apache/usergrid/persistence/queue/QueueFig.java | 6 +++---
.../usergrid/persistence/queue/impl/SNSQueueManagerImpl.java | 2 +-
.../persistence/queue/util/AmazonNotificationUtils.java | 4 +++-
4 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2b22c610/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 410f162..7d022e5 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
@@ -62,11 +62,10 @@ public interface IndexProcessorFig extends GuicyFig {
/**
* Set the visibility timeout for messages received from the queue. (in milliseconds).
- * AWS default is also currently 30 seconds. 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.
+ * 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( "30000" )
+ @Default( "5000" ) // 5 seconds
@Key( INDEX_QUEUE_VISIBILITY_TIMEOUT )
int getIndexQueueVisibilityTimeout();
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2b22c610/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
index 7f26bcf..0453a9b 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
@@ -76,10 +76,10 @@ public interface QueueFig extends GuicyFig {
int getAsyncQueueSize();
/**
- * Set the visibility timeout for faster retries
+ * Set the visibility timeout (in milliseconds) for faster retries
* @return
*/
@Key( "usergrid.queue.visibilityTimeout" )
- @Default("10")
- String getVisibilityTimeout();
+ @Default("5000") // 5 seconds
+ int getVisibilityTimeout();
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2b22c610/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 a2b5d72..d476f76 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
@@ -351,7 +351,7 @@ public class SNSQueueManagerImpl implements QueueManager {
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(url);
receiveMessageRequest.setMaxNumberOfMessages(limit);
- receiveMessageRequest.setVisibilityTimeout(transactionTimeout / 1000);
+ receiveMessageRequest.setVisibilityTimeout(Math.max(1, transactionTimeout / 1000));
receiveMessageRequest.setWaitTimeSeconds(waitTime / 1000);
try {
http://git-wip-us.apache.org/repos/asf/usergrid/blob/2b22c610/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
index 6105592..d57870d 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
@@ -61,10 +61,12 @@ public class AmazonNotificationUtils {
.format( "{\"maxReceiveCount\":\"%s\"," + " \"deadLetterTargetArn\":\"%s\"}", fig.getQueueDeliveryLimit(),
deadletterArn );
+ final String visibilityTimeoutInSeconds = String.valueOf(Math.max(1, fig.getVisibilityTimeout() / 1000));
+
final Map<String, String> queueAttributes = new HashMap<>( 2 );
queueAttributes.put( "MessageRetentionPeriod", fig.getRetentionPeriod() );
queueAttributes.put( "RedrivePolicy", redrivePolicy );
- queueAttributes.put( "VisibilityTimeout", fig.getVisibilityTimeout() );
+ queueAttributes.put( "VisibilityTimeout", visibilityTimeoutInSeconds );
CreateQueueRequest createQueueRequest = new CreateQueueRequest().
withQueueName( queueName )
[4/4] 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/jacoco
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(-)
----------------------------------------------------------------------
[2/4] usergrid git commit: Add sourceRegion to SQS event message
based on queue primary region. Remove cached entity manager (unused).
Posted by sn...@apache.org.
Add sourceRegion to SQS event message based on queue primary region. Remove cached entity manager (unused).
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/a09485a3
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/a09485a3
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/a09485a3
Branch: refs/heads/jacoco
Commit: a09485a3a5ac8b4217b294f4754ea8a70a7ec447
Parents: 2b22c61
Author: Michael Russo <mi...@gmail.com>
Authored: Fri Oct 16 13:12:42 2015 -0700
Committer: Michael Russo <mi...@gmail.com>
Committed: Fri Oct 16 13:12:42 2015 -0700
----------------------------------------------------------------------
.../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/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(+), 202 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/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 95126c6..c198674 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,6 +29,7 @@ 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;
@@ -56,10 +57,6 @@ import org.apache.usergrid.persistence.index.IndexLocationStrategy;
import org.apache.usergrid.persistence.index.impl.IndexOperationMessage;
import org.apache.usergrid.persistence.model.entity.Entity;
import org.apache.usergrid.persistence.model.entity.Id;
-import org.apache.usergrid.persistence.queue.QueueManager;
-import org.apache.usergrid.persistence.queue.QueueManagerFactory;
-import org.apache.usergrid.persistence.queue.QueueMessage;
-import org.apache.usergrid.persistence.queue.QueueScope;
import org.apache.usergrid.persistence.queue.impl.QueueScopeImpl;
import com.codahale.metrics.Counter;
@@ -89,6 +86,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
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;
@@ -115,15 +113,16 @@ public class AmazonAsyncEventService implements AsyncEventService {
@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 ) {
+ 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) {
this.indexProducer = indexProducer;
this.entityCollectionManagerFactory = entityCollectionManagerFactory;
@@ -135,6 +134,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
this.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");
@@ -328,7 +328,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
public void queueInitializeApplicationIndex( final ApplicationScope applicationScope) {
IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(
applicationScope );
- offer(new InitializeApplicationIndexEvent(new ReplicatedIndexLocationStrategy(indexLocationStrategy)));
+ offer(new InitializeApplicationIndexEvent(queueFig.getPrimaryRegion(), new ReplicatedIndexLocationStrategy(indexLocationStrategy)));
}
@@ -336,7 +336,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
public void queueEntityIndexUpdate(final ApplicationScope applicationScope,
final Entity entity) {
- offer(new EntityIndexEvent(new EntityIdScope(applicationScope, entity.getId()), 0));
+ offer(new EntityIndexEvent(queueFig.getPrimaryRegion(),new EntityIdScope(applicationScope, entity.getId()), 0));
}
@@ -371,7 +371,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
final Entity entity,
final Edge newEdge) {
- EdgeIndexEvent operation = new EdgeIndexEvent(applicationScope, entity.getId(), newEdge);
+ EdgeIndexEvent operation = new EdgeIndexEvent(queueFig.getPrimaryRegion(), applicationScope, entity.getId(), newEdge);
offer( operation );
}
@@ -403,7 +403,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
public void queueDeleteEdge(final ApplicationScope applicationScope,
final Edge edge) {
- offer( new EdgeDeleteEvent( applicationScope, edge ) );
+ offer( new EdgeDeleteEvent( queueFig.getPrimaryRegion(), applicationScope, edge ) );
}
public Observable<IndexOperationMessage> handleEdgeDelete(final QueueMessage message) {
@@ -431,7 +431,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
@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 ) ) );
}
@Override
@@ -630,7 +630,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
public void index(final ApplicationScope applicationScope, final Id id, final long updatedSince) {
//change to id scope to avoid serialization issues
- offer( new EntityIndexEvent( new EntityIdScope( applicationScope, id ), updatedSince ) );
+ offer( new EntityIndexEvent(queueFig.getPrimaryRegion(), new EntityIdScope( applicationScope, id ), updatedSince ) );
}
public void indexBatch(final List<EdgeScope> edges, final long updatedSince) {
@@ -638,7 +638,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
List batch = new ArrayList<EdgeScope>();
for ( EdgeScope e : edges){
//change to id scope to avoid serialization issues
- batch.add(new EntityIndexEvent(new EntityIdScope(e.getApplicationScope(), e.getEdge().getTargetNode()), updatedSince));
+ batch.add(new EntityIndexEvent(queueFig.getPrimaryRegion(), new EntityIdScope(e.getApplicationScope(), e.getEdge().getTargetNode()), updatedSince));
}
offerBatch( batch );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/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 e9e36f0..8b44714 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
@@ -22,12 +22,12 @@ package org.apache.usergrid.corepersistence.asyncevents;
import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.apache.usergrid.corepersistence.index.IndexProcessorFig;
-import org.apache.usergrid.corepersistence.index.IndexService;
import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory;
import org.apache.usergrid.persistence.core.rx.RxTaskScheduler;
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.QueueFig;
import org.apache.usergrid.persistence.queue.QueueManagerFactory;
import com.google.inject.Inject;
@@ -51,6 +51,7 @@ public class AsyncIndexProvider implements Provider<AsyncEventService> {
private final IndexLocationStrategyFactory indexLocationStrategyFactory;
private final EntityIndexFactory entityIndexFactory;
private final IndexProducer indexProducer;
+ private final QueueFig queueFig;
private AsyncEventService asyncEventService;
@@ -64,7 +65,7 @@ public class AsyncIndexProvider implements Provider<AsyncEventService> {
final EventBuilder eventBuilder,
final IndexLocationStrategyFactory indexLocationStrategyFactory,
final EntityIndexFactory entityIndexFactory,
- final IndexProducer indexProducer) {
+ final IndexProducer indexProducer, QueueFig queueFig) {
this.indexProcessorFig = indexProcessorFig;
this.queueManagerFactory = queueManagerFactory;
@@ -75,6 +76,7 @@ public class AsyncIndexProvider implements Provider<AsyncEventService> {
this.indexLocationStrategyFactory = indexLocationStrategyFactory;
this.entityIndexFactory = entityIndexFactory;
this.indexProducer = indexProducer;
+ this.queueFig = queueFig;
}
@@ -99,10 +101,10 @@ public class AsyncIndexProvider implements Provider<AsyncEventService> {
return new InMemoryAsyncEventService(eventBuilder, rxTaskScheduler, indexProducer,indexProcessorFig.resolveSynchronously());
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");
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
index 6b45297..3b91278 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
@@ -26,6 +26,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import org.apache.usergrid.persistence.queue.QueueFig;
/**
@@ -47,10 +48,21 @@ public abstract class AsyncEvent implements Serializable {
@JsonProperty
protected long creationTime;
+ @JsonProperty
+ protected String sourceRegion;
+
+ // Needed for jackson, do not remove
+ protected AsyncEvent(){
+
+ }
//set by default, will be overridden when de-serializing
- protected AsyncEvent() {
+ protected AsyncEvent(String sourceRegion) {
+
+
creationTime = System.currentTimeMillis();
+ this.sourceRegion = sourceRegion;
+
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeDeleteEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeDeleteEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeDeleteEvent.java
index af16bac..4bbe6f5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeDeleteEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeDeleteEvent.java
@@ -24,8 +24,6 @@ import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.graph.Edge;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
public final class EdgeDeleteEvent extends AsyncEvent {
@@ -39,10 +37,12 @@ public final class EdgeDeleteEvent extends AsyncEvent {
public EdgeDeleteEvent() {
+ super();
}
- public EdgeDeleteEvent( ApplicationScope applicationScope, Edge edge ) {
+ public EdgeDeleteEvent( String sourceRegion, ApplicationScope applicationScope, Edge edge ) {
+ super(sourceRegion);
this.applicationScope = applicationScope;
this.edge = edge;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeIndexEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeIndexEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeIndexEvent.java
index c89b828..6164dce 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeIndexEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EdgeIndexEvent.java
@@ -21,15 +21,10 @@ package org.apache.usergrid.corepersistence.asyncevents.model;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.graph.Edge;
-import org.apache.usergrid.persistence.model.entity.Entity;
import org.apache.usergrid.persistence.model.entity.Id;
-import java.io.Serializable;
-
public final class EdgeIndexEvent
extends AsyncEvent {
@@ -48,9 +43,11 @@ public final class EdgeIndexEvent
* Needed by jackson
*/
public EdgeIndexEvent() {
+ super();
}
- public EdgeIndexEvent(ApplicationScope applicationScope, Id entityId, Edge edge) {
+ public EdgeIndexEvent(String sourceRegion, ApplicationScope applicationScope, Id entityId, Edge edge) {
+ super(sourceRegion);
this.applicationScope = applicationScope;
this.entityId = entityId;
this.edge = edge;
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityDeleteEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityDeleteEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityDeleteEvent.java
index 847a07d..cb3ecda 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityDeleteEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityDeleteEvent.java
@@ -20,11 +20,7 @@
package org.apache.usergrid.corepersistence.asyncevents.model;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.apache.usergrid.persistence.collection.serialization.impl.migration.EntityIdScope;
-import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.model.entity.Id;
public final class EntityDeleteEvent extends AsyncEvent {
@@ -33,9 +29,11 @@ public final class EntityDeleteEvent extends AsyncEvent {
protected EntityIdScope entityIdScope;
public EntityDeleteEvent() {
+ super();
}
- public EntityDeleteEvent(EntityIdScope entityIdScope) {
+ public EntityDeleteEvent(String sourceRegion, EntityIdScope entityIdScope) {
+ super(sourceRegion);
this.entityIdScope = entityIdScope;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityIndexEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityIndexEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityIndexEvent.java
index a04326a..7e8184b 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityIndexEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/EntityIndexEvent.java
@@ -20,8 +20,6 @@
package org.apache.usergrid.corepersistence.asyncevents.model;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.apache.usergrid.persistence.collection.serialization.impl.migration.EntityIdScope;
@@ -35,9 +33,11 @@ public final class EntityIndexEvent extends AsyncEvent {
private long updatedAfter;
public EntityIndexEvent() {
+ super();
}
- public EntityIndexEvent(EntityIdScope entityIdScope, final long updatedAfter ) {
+ public EntityIndexEvent(String sourceRegion, EntityIdScope entityIdScope, final long updatedAfter ) {
+ super(sourceRegion);
this.entityIdScope = entityIdScope;
this.updatedAfter = updatedAfter;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/InitializeApplicationIndexEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/InitializeApplicationIndexEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/InitializeApplicationIndexEvent.java
index 2e69c75..1a270d4 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/InitializeApplicationIndexEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/InitializeApplicationIndexEvent.java
@@ -40,9 +40,11 @@ public class InitializeApplicationIndexEvent extends AsyncEvent {
@SuppressWarnings( "unused" )
public InitializeApplicationIndexEvent(){
+ super();
}
- public InitializeApplicationIndexEvent(final IndexLocationStrategy indexLocationStrategy) {
+ public InitializeApplicationIndexEvent(String sourceRegion, final IndexLocationStrategy indexLocationStrategy) {
+ super(sourceRegion);
this.indexLocationStrategy = indexLocationStrategy;
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/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 a14437c..5b921d9 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
@@ -23,6 +23,7 @@ package org.apache.usergrid.corepersistence.index;
import org.apache.usergrid.corepersistence.asyncevents.EventBuilder;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.impl.IndexProducer;
+import org.apache.usergrid.persistence.queue.QueueFig;
import org.junit.Rule;
import org.junit.runner.RunWith;
@@ -63,6 +64,9 @@ public class AmazonAsyncEventServiceTest extends AsyncIndexServiceTest {
@Inject
public IndexProcessorFig indexProcessorFig;
+ @Inject
+ public QueueFig queueFig;
+
@Inject
public MetricsFactory metricsFactory;
@@ -85,7 +89,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, rxTaskScheduler, queueFig );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/cache/CachedEntityCollectionManager.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/cache/CachedEntityCollectionManager.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/cache/CachedEntityCollectionManager.java
deleted file mode 100644
index cb050c8..0000000
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/cache/CachedEntityCollectionManager.java
+++ /dev/null
@@ -1,147 +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.persistence.collection.cache;
-
-
-import java.util.Collection;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.usergrid.persistence.collection.EntityCollectionManager;
-import org.apache.usergrid.persistence.collection.EntitySet;
-import org.apache.usergrid.persistence.collection.FieldSet;
-import org.apache.usergrid.persistence.collection.MvccLogEntry;
-import org.apache.usergrid.persistence.collection.VersionSet;
-import org.apache.usergrid.persistence.core.util.Health;
-import org.apache.usergrid.persistence.model.entity.Entity;
-import org.apache.usergrid.persistence.model.entity.Id;
-import org.apache.usergrid.persistence.model.field.Field;
-
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-import rx.Observable;
-import rx.functions.Action1;
-
-
-@Singleton
-public class CachedEntityCollectionManager implements EntityCollectionManager {
-
- /**
- * The collection manager we perform real i/o from
- */
- private EntityCollectionManager targetEntityCollectionManager;
-
-
- /** Short-term cache to keep us from reloading same Entity during single request. */
- private Cache<Id, Entity> entityCache;
-
- private Action1<Entity> cacheAdd = new Action1<Entity>() {
- @Override
- public void call( final Entity entity ) {
-
- entityCache.put( entity.getId(), entity );
- }
- };
-
-
- @Inject
- public CachedEntityCollectionManager( final EntityCacheFig entityCacheFig,
- final EntityCollectionManager targetEntityCollectionManager ) {
- this.targetEntityCollectionManager = targetEntityCollectionManager;
-
-
- entityCache = CacheBuilder.newBuilder().maximumSize( entityCacheFig.getCacheSize() )
- .expireAfterWrite( entityCacheFig.getCacheTimeout(), TimeUnit.SECONDS )
- .build();
- }
-
- @Override
- public Observable<FieldSet> getEntitiesFromFields( final String entityType, final Collection<Field> fields) {
- return targetEntityCollectionManager.getEntitiesFromFields( entityType, fields );
- }
-
- @Override
- public Observable<Entity> write( final Entity entity ) {
- return targetEntityCollectionManager.write( entity ).doOnNext( cacheAdd );
- }
-
-
- @Override
- public Observable<Id> mark( final Id entityId ) {
- return targetEntityCollectionManager.mark( entityId ).doOnNext( new Action1<Id>() {
- @Override
- public void call( final Id id ) {
- entityCache.invalidate( id );
- }
- } );
- }
-
-
- @Override
- public Observable<Entity> load( final Id entityId ) {
- final Entity entity = entityCache.getIfPresent( entityId );
-
- if ( entity != null ) {
- return Observable.just( entity );
- }
-
- return targetEntityCollectionManager.load( entityId ).doOnNext( cacheAdd );
-
- }
-
-
- @Override
- public Observable<VersionSet> getLatestVersion( final Collection<Id> entityId ) {
- return targetEntityCollectionManager.getLatestVersion( entityId );
- }
-
-
-
- @Override
- public Observable<Id> getIdField( final String entityType, final Field field ) {
- return targetEntityCollectionManager.getIdField( entityType, field );
- }
-
-
- @Override
- public Observable<EntitySet> load( final Collection<Id> entityIds ) {
- return targetEntityCollectionManager.load( entityIds );
- }
-
-
- @Override
- public Observable<MvccLogEntry> getVersions( final Id entityId ) {
- return targetEntityCollectionManager.getVersions( entityId );
- }
-
-
- @Override
- public Observable<MvccLogEntry> delete( final Collection<MvccLogEntry> entries ) {
- return targetEntityCollectionManager.delete( entries );
- }
-
-
- @Override
- public Health getHealth() {
- return targetEntityCollectionManager.getHealth();
- }
-}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerFactoryImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerFactoryImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerFactoryImpl.java
index 6d8717e..45cee06 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerFactoryImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerFactoryImpl.java
@@ -25,7 +25,6 @@ import java.util.concurrent.ExecutionException;
import org.apache.usergrid.persistence.collection.EntityCollectionManager;
import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory;
-import org.apache.usergrid.persistence.collection.cache.CachedEntityCollectionManager;
import org.apache.usergrid.persistence.collection.cache.EntityCacheFig;
import org.apache.usergrid.persistence.collection.mvcc.stage.delete.MarkCommit;
import org.apache.usergrid.persistence.collection.mvcc.stage.delete.MarkStart;
@@ -92,11 +91,6 @@ public class EntityCollectionManagerFactoryImpl implements EntityCollectionManag
metricsFactory, serializationFig,
rxTaskScheduler, scope );
-// TODO temporarily removed If we can avoid this, that would be great
-// final EntityCollectionManager proxy = new CachedEntityCollectionManager(entityCacheFig, target );
-//
-// return proxy;
-
return target;
}
} );
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
index 0453a9b..6f3a3dc 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
@@ -20,7 +20,7 @@ public interface QueueFig extends GuicyFig {
*/
@Key( "usergrid.queue.region" )
@Default("us-east-1")
- String getRegion();
+ String getPrimaryRegion();
/**
* Flag to determine if Usergrid should use a multi-region Amazon queue
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/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 d476f76..5ab1a4b 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
@@ -179,8 +179,8 @@ public class SNSQueueManagerImpl implements QueueManager {
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) {
@@ -523,7 +523,7 @@ public class SNSQueueManagerImpl implements QueueManager {
* @return
*/
private Region getRegion() {
- Regions regions = Regions.fromName(fig.getRegion());
+ Regions regions = Regions.fromName(fig.getPrimaryRegion());
return Region.getRegion(regions);
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a09485a3/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
index fa9a7ac..53532fc 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
@@ -323,7 +323,7 @@ public class SQSQueueManagerImpl implements QueueManager {
* @return
*/
protected Region getRegion() {
- Regions regions = Regions.fromName(fig.getRegion());
+ Regions regions = Regions.fromName(fig.getPrimaryRegion());
Region region = Region.getRegion(regions);
return region;
}
[3/4] 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/jacoco
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(-)
----------------------------------------------------------------------