You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by mr...@apache.org on 2016/08/15 20:54:25 UTC
usergrid git commit: Make unique value actor system logic more
configurable.
Repository: usergrid
Updated Branches:
refs/heads/master 77b6573e4 -> f91960371
Make unique value actor system logic more configurable.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f9196037
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f9196037
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f9196037
Branch: refs/heads/master
Commit: f919603718fe3445e33e69f08b0b677cba678f72
Parents: 77b6573
Author: Michael Russo <mr...@apigee.com>
Authored: Mon Aug 15 13:53:59 2016 -0700
Committer: Michael Russo <mr...@apigee.com>
Committed: Mon Aug 15 13:53:59 2016 -0700
----------------------------------------------------------------------
.../main/resources/usergrid-default.properties | 4 ++--
.../collection/uniquevalues/UniqueValuesFig.java | 19 ++++++++++++++++++-
.../uniquevalues/UniqueValuesServiceImpl.java | 10 +++++-----
3 files changed, 25 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9196037/stack/config/src/main/resources/usergrid-default.properties
----------------------------------------------------------------------
diff --git a/stack/config/src/main/resources/usergrid-default.properties b/stack/config/src/main/resources/usergrid-default.properties
index 1385216..d153ef1 100644
--- a/stack/config/src/main/resources/usergrid-default.properties
+++ b/stack/config/src/main/resources/usergrid-default.properties
@@ -449,8 +449,8 @@ collection.uniquevalues.cache.ttl=10
# TTL of a unique value reservation when written to Cassandra
collection.uniquevalues.reservation.ttl=10
-# The default authoritative region for when is not specified elsewhere
-collection.uniquevalues.authoritative.region=default
+# The default authoritative region for when is not specified elsewhere; by default leave this empty
+collection.uniquevalues.authoritative.region=
############################## Usergrid Scheduler ###########################
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9196037/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesFig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesFig.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesFig.java
index edd0cbe..a220adc 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesFig.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesFig.java
@@ -36,6 +36,10 @@ public interface UniqueValuesFig extends GuicyFig, Serializable {
String UNIQUEVALUE_AUTHORITATIVE_REGION = "collection.uniquevalues.authoritative.region";
+ String UNIQUEVALUE_REQUEST_TIMEOUT = "collection.uniquevalues.request.timeout";
+
+ String UNIQUEVALUE_REQUEST_RETRY_COUNT = "collection.uniquevalues.request.retrycount";
+
/**
* Unique Value cache TTL in seconds.
@@ -62,6 +66,19 @@ public interface UniqueValuesFig extends GuicyFig, Serializable {
* Primary authoritative region (used if none other specified).
*/
@Key(UNIQUEVALUE_AUTHORITATIVE_REGION)
- @Default("default")
String getAuthoritativeRegion();
+
+ /**
+ * Number of milliseconds before timing out the unique value request to the Actor System
+ */
+ @Key(UNIQUEVALUE_REQUEST_TIMEOUT)
+ @Default("5000")
+ int getRequestTimeout();
+
+ /**
+ * Number of actor instances to create on each.
+ */
+ @Key(UNIQUEVALUE_REQUEST_RETRY_COUNT)
+ @Default("2")
+ int getRequestRetryCount();
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9196037/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
index 777029f..8bdb02c 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceImpl.java
@@ -220,13 +220,13 @@ public class UniqueValuesServiceImpl implements UniqueValuesService {
private void sendUniqueValueRequest(
Entity entity, String region, UniqueValueActor.Request request ) throws UniqueValueException {
- int maxRetries = 5;
+ int maxRetries = uniqueValuesFig.getRequestRetryCount();
int retries = 0;
UniqueValueActor.Response response = null;
while ( retries++ < maxRetries ) {
try {
- Timeout t = new Timeout( 1, TimeUnit.SECONDS );
+ Timeout t = new Timeout( uniqueValuesFig.getRequestTimeout(), TimeUnit.MILLISECONDS );
Future<Object> fut;
@@ -256,15 +256,15 @@ public class UniqueValuesServiceImpl implements UniqueValuesService {
break;
} else if ( response != null ) {
- logger.debug("ERROR status retrying {} entity {} rowkey {}",
+ logger.warn("ERROR status retrying {} entity {} rowkey {}",
retries, entity.getId().getUuid(), request.getConsistentHashKey());
} else {
- logger.debug("Timed-out retrying {} entity {} rowkey",
+ logger.warn("Timed-out retrying {} entity {} rowkey",
retries, entity.getId().getUuid(), request.getConsistentHashKey());
}
} catch ( Exception e ) {
- logger.debug("{} caused retry {} for entity {} rowkey {}",
+ logger.error("{} caused retry {} for entity {} rowkey {}",
e.getClass().getSimpleName(), retries, entity.getId().getUuid(), request.getConsistentHashKey());
}
}