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/06/10 00:56:36 UTC

[1/9] incubator-usergrid git commit: renamed JMX counters/timers, moved some to be instance attributes vs local attributes, defined in method

Repository: incubator-usergrid
Updated Branches:
  refs/heads/two-dot-o-dev 30ba024ad -> aebab48fd


renamed JMX counters/timers, moved some to be instance attributes vs local attributes, defined in method


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/179e0062
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/179e0062
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/179e0062

Branch: refs/heads/two-dot-o-dev
Commit: 179e0062d095eb998386b2066c91e223c812e40c
Parents: 17059d8
Author: Jeff West <jw...@apigee.com>
Authored: Fri Jun 5 11:31:22 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Fri Jun 5 11:31:22 2015 -0700

----------------------------------------------------------------------
 .../batch/service/JobSchedulerService.java      |  8 +--
 .../corepersistence/CpEntityManager.java        | 68 ++++++++------------
 .../asyncevents/AmazonAsyncEventService.java    | 10 +--
 .../search/AbstractElasticSearchFilter.java     |  2 +-
 .../impl/EntityCollectionManagerImpl.java       | 22 +++----
 .../mvcc/stage/delete/UniqueCleanup.java        |  2 +-
 .../mvcc/stage/delete/VersionCompact.java       |  2 +-
 .../core/metrics/MetricsFactoryImpl.java        | 46 +++++++------
 .../graph/impl/GraphManagerImpl.java            | 28 ++++----
 .../impl/EsApplicationEntityIndexImpl.java      | 12 ++--
 .../index/impl/EsEntityIndexImpl.java           | 24 +++----
 .../index/impl/EsIndexBufferConsumerImpl.java   | 18 +++---
 .../index/impl/IndexRefreshCommandImpl.java     |  2 +-
 .../index/impl/IndexLoadTestsIT.java            |  6 +-
 .../rest/management/ManagementResource.java     |  8 +--
 .../notifications/NotificationsService.java     |  6 +-
 .../services/notifications/QueueJob.java        |  6 +-
 .../services/notifications/QueueListener.java   |  4 +-
 .../impl/ApplicationQueueManagerImpl.java       | 19 +++---
 .../usergrid/services/queues/QueueListener.java | 14 ++--
 20 files changed, 140 insertions(+), 167 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java b/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
index 4b283df..d76be6f 100644
--- a/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/batch/service/JobSchedulerService.java
@@ -88,10 +88,10 @@ public class JobSchedulerService extends AbstractScheduledService {
 
         MetricsFactory metricsFactory = injector.getInstance( MetricsFactory.class );
 
-        jobTimer = metricsFactory.getTimer( JobSchedulerService.class, "job_execution_timer" );
-        runCounter = metricsFactory.getCounter( JobSchedulerService.class, "running_workers" );
-        successCounter = metricsFactory.getCounter( JobSchedulerService.class, "successful_jobs" );
-        failCounter = metricsFactory.getCounter( JobSchedulerService.class, "failed_jobs" );
+        jobTimer = metricsFactory.getTimer( JobSchedulerService.class, "scheduler.job_execution_timer" );
+        runCounter = metricsFactory.getCounter( JobSchedulerService.class, "scheduler.running_workers" );
+        successCounter = metricsFactory.getCounter( JobSchedulerService.class, "scheduler.successful_jobs" );
+        failCounter = metricsFactory.getCounter( JobSchedulerService.class, "scheduler.failed_jobs" );
 
         try {
             LOG.info( "Running one check iteration ..." );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/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 1418e06..b89a044 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
@@ -256,54 +256,38 @@ public class CpEntityManager implements EntityManager {
 
         //Timer Setup
         this.metricsFactory = metricsFactory;
-        this.aggCounterTimer =this.metricsFactory.getTimer( CpEntityManager.class,
-            "cp.entity.get.aggregate.counters.timer" );
-        this.entCreateTimer =this.metricsFactory.getTimer( CpEntityManager.class, "cp.entity.create.timer" );
-        this.entCreateBatchTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.create.batch.timer");
-        this.esDeletePropertyTimer =this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.es.delete.property.timer");
-        this.entAddDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.add.dictionary.timer");
-        this.entAddDictionarySetTimer = this.metricsFactory.getTimer( CpEntityManager.class,
-            "cp.entity.add.dictionary.set.timer" );
-        this.entAddDictionaryMapTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.add.dictionary.map.timer");
-        this.entRemoveDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.remove.dictionary.timer");
-        this.entCreateRoleTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.create.role.timer");
-        this.entCreateRolePermissionsTimer =this.metricsFactory
-            .getTimer( CpEntityManager.class,
-                "cp.entity.create.role.permissions.timer" );
-        this.entGrantGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.grant.group.permission.timer");
-        this.entRevokeGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.revoke.group.permission.timer");
-        this.entIncrementAggregateCountersTimer =this.metricsFactory.getTimer( CpEntityManager.class,
-                "cp.entity.increment.aggregate.counters.timer" );
-        this.entGetAggregateCountersQueryTimer = this.metricsFactory.getTimer( CpEntityManager.class,
-                "cp.entity.get.aggregate.counters.query.timer" );
-        this.entGetEntityCountersTimer = this.metricsFactory.getTimer( CpEntityManager.class,
-                "cp.entity.get.entity.counters.timer" );
-        this.esIndexEntityCollectionTimer = this.metricsFactory
-            .getTimer( CpEntityManager.class, "cp.entity.es.index.entity.to.collection.timer" );
-        this.entRevokeRolePermissionsTimer =
-            this.metricsFactory.getTimer( CpEntityManager.class, "cp.entity.revoke.role.permissions.timer");
-        this.entGetRepairedEntityTimer = this.metricsFactory
-            .getTimer( CpEntityManager.class, "get.repaired.entity.timer" );
-
-        this.updateEntityMeter =this.metricsFactory.getMeter(CpEntityManager.class,"cp.entity.update.meter");
-        this.updateEntityTimer =this.metricsFactory.getTimer(CpEntityManager.class, "cp.entity.update.timer");
+        this.aggCounterTimer = this.metricsFactory.getTimer(CpEntityManager.class, "aggregate_counters.get");
+        this.entIncrementAggregateCountersTimer = this.metricsFactory.getTimer(CpEntityManager.class, "aggregate_counters.increment");
+        this.entGetAggregateCountersQueryTimer = this.metricsFactory.getTimer(CpEntityManager.class, "aggregate_counters_query.get");
 
-        // set to false for now
-        this.skipAggregateCounters = false;
+        this.entCreateTimer = this.metricsFactory.getTimer(CpEntityManager.class, "entity.create");
+        this.updateEntityMeter = this.metricsFactory.getMeter(CpEntityManager.class, "entity.update");
+        this.updateEntityTimer = this.metricsFactory.getTimer(CpEntityManager.class, "entity.update");
 
+        this.entCreateBatchTimer = this.metricsFactory.getTimer(CpEntityManager.class, "batch.create");
 
-    }
+        this.esDeletePropertyTimer = this.metricsFactory.getTimer(CpEntityManager.class, "es_property.delete");
+        this.entAddDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary.add");
+        this.entAddDictionarySetTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary_set.add");
+        this.entAddDictionaryMapTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary_map.add");
+        this.entRemoveDictionaryTimer = this.metricsFactory.getTimer(CpEntityManager.class, "dictionary.remove");
+
+        this.entCreateRoleTimer = this.metricsFactory.getTimer(CpEntityManager.class, "role.create");
+        this.entRevokeRolePermissionsTimer = this.metricsFactory.getTimer(CpEntityManager.class, "role.revoke_permissions");
+        this.entCreateRolePermissionsTimer = this.metricsFactory.getTimer(CpEntityManager.class, "role.create_permissions");
+
+        this.entGrantGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class, "group.grant_permission");
+        this.entRevokeGroupPermissionTimer = this.metricsFactory.getTimer(CpEntityManager.class, "group.revoke_permission");
 
+        this.entGetEntityCountersTimer = this.metricsFactory.getTimer(CpEntityManager.class, "entity_counters.get");
+        this.esIndexEntityCollectionTimer = this.metricsFactory.getTimer(CpEntityManager.class, "es.index_entity_to_collection");
+        this.entGetRepairedEntityTimer = this.metricsFactory.getTimer(CpEntityManager.class, "repaired_entity.get");
 
 
+        // set to false for now
+        this.skipAggregateCounters = false;
+    }
+
 
     /**
      * Load entity from short-term cache. Package scope so that CpRelationManager can use it too.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/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 fc13d85..9e04b01 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
@@ -106,14 +106,14 @@ public class AmazonAsyncEventService implements AsyncEventService {
         this.queue = queueManagerFactory.getQueueManager(queueScope);
         this.indexProcessorFig = indexProcessorFig;
 
-        this.writeTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "write");
-        this.readTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "read");
-        this.messageProcessingTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "message.processing");
-        this.indexErrorCounter = metricsFactory.getCounter(AmazonAsyncEventService.class, "error");
+        this.writeTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.write");
+        this.readTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.read");
+        this.messageProcessingTimer = metricsFactory.getTimer(AmazonAsyncEventService.class, "async_event.message_processing");
+        this.indexErrorCounter = metricsFactory.getCounter(AmazonAsyncEventService.class, "async_event.error");
 
 
         //wire up the gauge of inflight message
-        metricsFactory.addGauge(AmazonAsyncEventService.class, "inflight.meter", new Gauge<Long>() {
+        metricsFactory.addGauge(AmazonAsyncEventService.class, "async-event.inflight", new Gauge<Long>() {
             @Override
             public Long getValue() {
                 return inFlight.longValue();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
index 2fdffd2..7ab9418 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
@@ -58,7 +58,7 @@ public abstract class AbstractElasticSearchFilter extends AbstractPathFilter<Id,
                                         final MetricsFactory metricsFactory, final String query ) {
         this.entityIndexFactory = entityIndexFactory;
         this.query = query;
-        this.searchTimer = metricsFactory.getTimer( AbstractElasticSearchFilter.class, "query" );
+        this.searchTimer = metricsFactory.getTimer( AbstractElasticSearchFilter.class, "query.search" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
index 7a32d72..ff3bd7b 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
@@ -161,13 +161,13 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
 
         this.applicationScope = applicationScope;
         this.mvccLogEntrySerializationStrategy = mvccLogEntrySerializationStrategy;
-        this.writeTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "write" );
-        this.deleteTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "delete" );
-        this.fieldIdTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "fieldId" );
-        this.fieldEntityTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "fieldEntity" );
-        this.updateTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "update" );
-        this.loadTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "load" );
-        this.getLatestTimer = metricsFactory.getTimer( EntityCollectionManagerImpl.class, "latest" );
+        this.writeTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.write");
+        this.deleteTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.delete");
+        this.fieldIdTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.fieldId");
+        this.fieldEntityTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.fieldEntity");
+        this.updateTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.update");
+        this.loadTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.load");
+        this.getLatestTimer = metricsFactory.getTimer(EntityCollectionManagerImpl.class, "base.latest");
     }
 
 
@@ -202,7 +202,7 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
         Preconditions.checkNotNull( entityId.getType(), "Entity type is required in this stage" );
 
         Observable<Id> o = Observable.just( new CollectionIoEvent<>( applicationScope, entityId ) ).map( markStart )
-                                     .doOnNext( markCommit ).compose( uniqueCleanup ).map(
+            .doOnNext( markCommit ).compose( uniqueCleanup ).map(
                 entityEvent -> entityEvent.getEvent().getId() );
 
 
@@ -279,7 +279,7 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
 
 
         return Observable.from( entries ).map( logEntry -> new CollectionIoEvent<>( applicationScope, logEntry ) )
-                         .compose( versionCompact ).map( event -> event.getEvent() );
+            .compose( versionCompact ).map( event -> event.getEvent() );
     }
 
 
@@ -386,13 +386,13 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
 
             Observable<CollectionIoEvent<MvccEntity>> uniqueObservable =
                 Observable.just( mvccEntityCollectionIoEvent ).subscribeOn( rxTaskScheduler.getAsyncIOScheduler() )
-                          .doOnNext( writeVerifyUnique );
+                    .doOnNext( writeVerifyUnique );
 
 
             // optimistic verification
             Observable<CollectionIoEvent<MvccEntity>> optimisticObservable =
                 Observable.just( mvccEntityCollectionIoEvent ).subscribeOn( rxTaskScheduler.getAsyncIOScheduler() )
-                          .doOnNext( writeOptimisticVerify );
+                    .doOnNext( writeOptimisticVerify );
 
             final Observable<CollectionIoEvent<MvccEntity>> zip =
                 Observable.zip( uniqueObservable, optimisticObservable, ( unique, optimistic ) -> optimistic );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
index affd82c..3f66536 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/UniqueCleanup.java
@@ -75,7 +75,7 @@ public class UniqueCleanup
         this.serializationFig = serializationFig;
         this.uniqueValueSerializationStrategy = uniqueValueSerializationStrategy;
         this.keyspace = keyspace;
-        this.uniqueCleanupTimer = metricsFactory.getTimer( UniqueCleanup.class, "uniquecleanup" );
+        this.uniqueCleanupTimer = metricsFactory.getTimer( UniqueCleanup.class, "uniquecleanup.base" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
index e20ad30..5554a5f 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
@@ -69,7 +69,7 @@ public class VersionCompact
         this.serializationFig = serializationFig;
         this.keyspace = keyspace;
         this.mvccEntitySerializationStrategy = mvccEntitySerializationStrategy;
-        this.compactTimer = metricsFactory.getTimer( VersionCompact.class, "compact" );
+        this.compactTimer = metricsFactory.getTimer( VersionCompact.class, "version.compact" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
index b068782..1b2dfdb 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
@@ -49,26 +49,25 @@ public class MetricsFactoryImpl implements MetricsFactory {
     private MetricRegistry registry;
     private GraphiteReporter graphiteReporter;
     private JmxReporter jmxReporter;
-    private static final Logger LOG = LoggerFactory.getLogger( MetricsFactoryImpl.class );
+    private static final Logger LOG = LoggerFactory.getLogger(MetricsFactoryImpl.class);
 
 
     @Inject
-    public MetricsFactoryImpl( MetricsFig metricsFig ) {
+    public MetricsFactoryImpl(MetricsFig metricsFig) {
         registry = new MetricRegistry();
         String metricsHost = metricsFig.getHost();
-        if ( !metricsHost.equals( "false" ) ) {
-            Graphite graphite = new Graphite( new InetSocketAddress( metricsHost, 2003 ) );
-            graphiteReporter = GraphiteReporter.forRegistry( registry ).prefixedWith( "usergrid-metrics" )
-                                               .convertRatesTo( TimeUnit.SECONDS )
-                                               .convertDurationsTo( TimeUnit.MILLISECONDS ).filter( MetricFilter.ALL )
-                                               .build( graphite );
-            graphiteReporter.start( 30, TimeUnit.SECONDS );
-        }
-        else {
-            LOG.warn( "MetricsService:Logger not started." );
+        if (!metricsHost.equals("false")) {
+            Graphite graphite = new Graphite(new InetSocketAddress(metricsHost, 2003));
+            graphiteReporter = GraphiteReporter.forRegistry(registry).prefixedWith("usergrid-metrics")
+                .convertRatesTo(TimeUnit.SECONDS)
+                .convertDurationsTo(TimeUnit.MILLISECONDS).filter(MetricFilter.ALL)
+                .build(graphite);
+            graphiteReporter.start(30, TimeUnit.SECONDS);
+        } else {
+            LOG.warn("MetricsService:Logger not started.");
         }
 
-        jmxReporter = JmxReporter.forRegistry( registry ).build();
+        jmxReporter = JmxReporter.forRegistry(registry).build();
         jmxReporter.start();
     }
 
@@ -80,34 +79,33 @@ public class MetricsFactoryImpl implements MetricsFactory {
 
 
     @Override
-    public Timer getTimer( Class<?> klass, String name ) {
-        return getRegistry().timer( MetricRegistry.name( klass, name ) );
+    public Timer getTimer(Class<?> klass, String name) {
+        return getRegistry().timer(MetricRegistry.name(klass, name + ".timer"));
     }
 
 
     @Override
-    public Histogram getHistogram( Class<?> klass, String name ) {
-        return getRegistry().histogram( MetricRegistry.name( klass, name ) );
+    public Histogram getHistogram(Class<?> klass, String name) {
+        return getRegistry().histogram(MetricRegistry.name(klass, name + ".histogram"));
     }
 
 
     @Override
-    public Counter getCounter( Class<?> klass, String name ) {
-        return getRegistry().counter( MetricRegistry.name( klass, name ) );
+    public Counter getCounter(Class<?> klass, String name) {
+        return getRegistry().counter(MetricRegistry.name(klass, name + ".counter"));
     }
 
 
     @Override
-    public Meter getMeter( Class<?> klass, String name ) {
-        return getRegistry().meter( MetricRegistry.name( klass, name ) );
+    public Meter getMeter(Class<?> klass, String name) {
+        return getRegistry().meter(MetricRegistry.name(klass, name + ".meter"));
     }
 
 
     @Override
-    public void addGauge( final Class<?> clazz, final String name, final Gauge<?> gauge ) {
+    public void addGauge(final Class<?> clazz, final String name, final Gauge<?> gauge) {
 
-        this.getRegistry().register( MetricRegistry.name( clazz, name ), gauge );
+        this.getRegistry().register(MetricRegistry.name(clazz, name), gauge);
     }
 
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
index e4ce4fd..8c64fa1 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
@@ -122,24 +122,24 @@ public class GraphManagerImpl implements GraphManager {
         this.edgeDeleteListener = edgeDeleteListener;
         this.nodeDeleteListener = nodeDeleteListener;
 
-        this.writeEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "write.edge" );
-        this.markEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "mark.edge" );
-        this.deleteEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "delete.edge" );
-        this.markNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "mark.node" );
-        this.deleteNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "delete.node" );
-        this.loadEdgesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.from" );
-        this.loadEdgesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.to" );
-        this.loadEdgesVersionsTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.versions" );
-        this.loadEdgesFromSourceByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.from.type" );
-        this.loadEdgesToTargetByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "load.to.type" );
+        this.markNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "node.mark" );
+        this.deleteNodeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "node.delete" );
+        this.writeEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.write" );
 
-        this.getEdgeTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.edge.from" );
+        this.markEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.mark" );
+        this.deleteEdgeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.delete" );
+        this.loadEdgesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_from" );
+        this.loadEdgesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_to" );
+        this.loadEdgesVersionsTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_versions" );
+        this.loadEdgesFromSourceByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_from_type" );
+        this.loadEdgesToTargetByTypeTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.load_to_type" );
+        this.getEdgeTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.get_edge_from" );
+        this.getEdgeTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "edge.get_to" );
 
-        this.getIdTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.idtype.from" );
+        this.getIdTypesFromSourceTimer = metricsFactory.getTimer( GraphManagerImpl.class, "idtype.get_from" );
+        this.getIdTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "idtype.get_to" );
 
-        this.getEdgeTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.edge.to" );
 
-        this.getIdTypesToTargetTimer = metricsFactory.getTimer( GraphManagerImpl.class, "get.idtype.to" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
index fb2dc86..1d1c0c4 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
@@ -121,16 +121,14 @@ public class EsApplicationEntityIndexImpl implements ApplicationEntityIndex {
         this.failureMonitor = new FailureMonitorImpl( config, provider );
         this.esProvider = provider;
 
-        mapManager = mapManagerFactory.createMapManager( mapScope );
-        this.searchTimer = metricsFactory.getTimer( EsApplicationEntityIndexImpl.class, "search.timer" );
-        this.cursorTimer = metricsFactory.getTimer( EsApplicationEntityIndexImpl.class, "search.cursor.timer" );
+        mapManager = mapManagerFactory.createMapManager(mapScope);
+        this.searchTimer = metricsFactory.getTimer(EsApplicationEntityIndexImpl.class, "base.search");
+        this.cursorTimer = metricsFactory.getTimer(EsApplicationEntityIndexImpl.class, "cursor.search");
         this.cursorTimeout = config.getQueryCursorTimeout();
         this.queryTimeout = config.getWriteTimeout();
 
-        this.deleteApplicationTimer =
-                metricsFactory.getTimer( EsApplicationEntityIndexImpl.class, "delete.application" );
-        this.deleteApplicationMeter =
-                metricsFactory.getMeter( EsApplicationEntityIndexImpl.class, "delete.application.meter" );
+        this.deleteApplicationTimer = metricsFactory.getTimer(EsApplicationEntityIndexImpl.class, "application.delete");
+        this.deleteApplicationMeter = metricsFactory.getMeter(EsApplicationEntityIndexImpl.class, "application.delete");
 
         this.alias = indexIdentifier.getAlias();
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
index 904f58b..230c82a 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
@@ -109,14 +109,10 @@ public class EsEntityIndexImpl implements AliasedEntityIndex,VersionedData {
         this.indexRefreshCommand = indexRefreshCommand;
         this.alias = indexIdentifier.getAlias();
         this.aliasCache = indexCache;
-        this.addTimer = metricsFactory
-            .getTimer(EsEntityIndexImpl.class, "add.timer");
-        this.updateAliasTimer = metricsFactory
-            .getTimer(EsEntityIndexImpl.class, "update.alias.timer");
-        this.mappingTimer = metricsFactory
-            .getTimer(EsEntityIndexImpl.class, "create.mapping.timer");
-
-        this.refreshIndexMeter = metricsFactory.getMeter(EsEntityIndexImpl.class,"refresh.meter");
+        this.addTimer = metricsFactory.getTimer(EsEntityIndexImpl.class, "index.add");
+        this.updateAliasTimer = metricsFactory.getTimer(EsEntityIndexImpl.class, "index.update_alias");
+        this.mappingTimer = metricsFactory.getTimer(EsEntityIndexImpl.class, "index.create_mapping");
+        this.refreshIndexMeter = metricsFactory.getMeter(EsEntityIndexImpl.class, "index.refresh_index");
 
     }
 
@@ -149,19 +145,19 @@ public class EsEntityIndexImpl implements AliasedEntityIndex,VersionedData {
                 final AdminClient admin = esProvider.getClient().admin();
                 Settings settings = ImmutableSettings.settingsBuilder()
                         .put("index.number_of_shards", numberOfShards)
-                        .put("index.number_of_replicas", numberOfReplicas)
+                    .put("index.number_of_replicas", numberOfReplicas)
 
                         //dont' allow unmapped queries, and don't allow dynamic mapping
-                        .put("index.query.parse.allow_unmapped_fields", false )
-                        .put("index.mapper.dynamic", false)
-                        .put( "action.write_consistency", writeConsistency )
-                        .build();
+                        .put("index.query.parse.allow_unmapped_fields", false)
+                    .put("index.mapper.dynamic", false)
+                    .put("action.write_consistency", writeConsistency)
+                    .build();
 
                 //Added For Graphite Metrics
                 Timer.Context timeNewIndexCreation = addTimer.time();
                 final CreateIndexResponse cir = admin.indices().prepareCreate(indexName)
                         .setSettings(settings)
-                        .execute()
+                    .execute()
                         .actionGet();
                 timeNewIndexCreation.stop();
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
index 6f2505d..0ba1d0b 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
@@ -82,22 +82,20 @@ public class EsIndexBufferConsumerImpl implements IndexBufferConsumer {
     @Inject
     public EsIndexBufferConsumerImpl( final IndexFig config, final EsProvider provider,
                                       final MetricsFactory metricsFactory, final IndexFig indexFig ) {
-
-        this.flushTimer = metricsFactory.getTimer( EsIndexBufferConsumerImpl.class, "buffer.flush" );
-        this.flushMeter = metricsFactory.getMeter( EsIndexBufferConsumerImpl.class, "buffer.meter" );
-        this.indexSizeCounter = metricsFactory.getCounter( EsIndexBufferConsumerImpl.class, "buffer.size" );
-        this.indexErrorCounter = metricsFactory.getCounter( EsIndexBufferConsumerImpl.class, "error.count" );
-        this.offerTimer = metricsFactory.getTimer( EsIndexBufferConsumerImpl.class, "index.buffer.producer.timer" );
+        this.flushTimer = metricsFactory.getTimer(EsIndexBufferConsumerImpl.class, "index_buffer.flush");
+        this.flushMeter = metricsFactory.getMeter(EsIndexBufferConsumerImpl.class, "index_buffer.flush");
+        this.indexSizeCounter = metricsFactory.getCounter(EsIndexBufferConsumerImpl.class, "index_buffer.size");
+        this.indexErrorCounter = metricsFactory.getCounter(EsIndexBufferConsumerImpl.class, "index_buffer.error");
+        this.offerTimer = metricsFactory.getTimer(EsIndexBufferConsumerImpl.class, "index_buffer.producer");
 
         //wire up the gauge of inflight messages
-        metricsFactory.addGauge( EsIndexBufferConsumerImpl.class, "inflight.meter", () -> inFlight.longValue() );
+        metricsFactory.addGauge(EsIndexBufferConsumerImpl.class, "index_buffer.inflight", () -> inFlight.longValue());
 
 
         this.config = config;
-        this.failureMonitor = new FailureMonitorImpl( config, provider );
+        this.failureMonitor = new FailureMonitorImpl(config, provider);
         this.client = provider.getClient();
-        this.produceTimer =
-            metricsFactory.getTimer( EsIndexBufferConsumerImpl.class, "index.buffer.consumer.messageFetch" );
+        this.produceTimer = metricsFactory.getTimer(EsIndexBufferConsumerImpl.class, "index_buffer.consumer_messageFetch");
         this.indexFig = indexFig;
 
         this.bufferProducer = new BufferProducer();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
index e7ae241..6dfd0c9 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
@@ -74,7 +74,7 @@ public class IndexRefreshCommandImpl implements IndexRefreshCommand {
                                     final IndexCache indexCache ) {
 
 
-        this.timer = metricsFactory.getTimer( IndexRefreshCommandImpl.class, "index.refresh.timer" );
+        this.timer = metricsFactory.getTimer( IndexRefreshCommandImpl.class, "index.refresh" );
         this.alias = indexIdentifier.getAlias();
         this.esProvider = esProvider;
         this.producer = producer;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
index 812e756..df7480e 100644
--- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
+++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/IndexLoadTestsIT.java
@@ -133,13 +133,13 @@ public class IndexLoadTestsIT extends BaseIT {
         final Id applicationId = new SimpleId( applicationUUID, "application" );
 
 
-        batchWriteTPS = metricsFactory.getMeter( IndexLoadTestsIT.class, "write.tps" );
+        batchWriteTPS = metricsFactory.getMeter( IndexLoadTestsIT.class, "batch.write_tps" );
 
-        batchWriteTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "write.timer" );
+        batchWriteTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "batch.write" );
 
         queryTps = metricsFactory.getMeter( IndexLoadTestsIT.class, "query.tps" );
 
-        queryTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "query.timer" );
+        queryTimer = metricsFactory.getTimer( IndexLoadTestsIT.class, "query.test" );
 
         reporter =
             Slf4jReporter.forRegistry( metricsFactory.getRegistry() ).outputTo( log ).convertRatesTo( TimeUnit.SECONDS )

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
index 3f89271..e0bedf8 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
@@ -115,10 +115,10 @@ public class ManagementResource extends AbstractContextResource {
 
 
     // names for metrics to be collected
-    private static final String SSO_TOKENS_REJECTED = "sso_tokens_rejected";
-    private static final String SSO_TOKENS_VALIDATED = "sso_tokens_validated";
-    private static final String SSO_CREATED_LOCAL_ADMINS = "sso_created_local_admins";
-    private static final String SSO_PROCESSING_TIME = "sso_processing_time";
+    private static final String SSO_TOKENS_REJECTED = "sso.tokens_rejected";
+    private static final String SSO_TOKENS_VALIDATED = "sso.tokens_validated";
+    private static final String SSO_CREATED_LOCAL_ADMINS = "sso.created_local_admins";
+    private static final String SSO_PROCESSING_TIME = "sso.processing_time";
 
     // usergrid configuration property names needed
     public static final String USERGRID_SYSADMIN_LOGIN_NAME = "usergrid.sysadmin.login.name";

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
index 0f13c6d..76f10c9 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
@@ -104,15 +104,15 @@ public class NotificationsService extends AbstractCollectionService {
 
         Properties props = (Properties)getApplicationContext().getBean("properties");
         metricsService = getApplicationContext().getBean(Injector.class).getInstance(MetricsFactory.class);
-        postMeter = metricsService.getMeter(NotificationsService.class, "requests");
-        postTimer = metricsService.getTimer(this.getClass(), "execution_rest");
+        postMeter = metricsService.getMeter(NotificationsService.class, "collection.post_requests");
+        postTimer = metricsService.getTimer(this.getClass(), "collection.post_requests");
         JobScheduler jobScheduler = new JobScheduler(sm,em);
         String name = ApplicationQueueManagerImpl.getQueueNames( props );
         QueueScope queueScope = new QueueScopeImpl( name );
         queueManagerFactory = getApplicationContext().getBean( Injector.class ).getInstance(QueueManagerFactory.class);
         QueueManager queueManager = queueManagerFactory.getQueueManager(queueScope);
         notificationQueueManager = new ApplicationQueueManagerImpl(jobScheduler,em,queueManager,metricsService,props);
-        gracePeriod = jobScheduler.SCHEDULER_GRACE_PERIOD;
+        gracePeriod = JobScheduler.SCHEDULER_GRACE_PERIOD;
     }
 
     public ApplicationQueueManager getQueueManager(){

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
index 6fc7b7a..c6f4a17 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
@@ -70,9 +70,9 @@ public class QueueJob extends OnlyOnceJob {
     @PostConstruct
     void init() {
         metricsService = this.smf.getApplicationContext().getBean( Injector.class ).getInstance(MetricsFactory.class);
-        histogram = metricsService.getHistogram( QueueJob.class, "cycle" );
-        requests = metricsService.getMeter( QueueJob.class, "requests" );
-        execution = metricsService.getTimer( QueueJob.class, "execution" );
+        histogram = metricsService.getHistogram( QueueJob.class, "queuejob.cycle" );
+        requests = metricsService.getMeter( QueueJob.class, "queuejob.requests" );
+        execution = metricsService.getTimer( QueueJob.class, "queuejob.execution" );
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/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 1adf88f..5c0d078 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
@@ -142,8 +142,8 @@ public class QueueListener  {
 
         final AtomicInteger consecutiveExceptions = new AtomicInteger();
         LOG.info("QueueListener: Starting execute process.");
-        Meter meter = metricsService.getMeter(QueueListener.class, "queue");
-        com.codahale.metrics.Timer timer = metricsService.getTimer(QueueListener.class, "dequeue");
+        Meter meter = metricsService.getMeter(QueueListener.class, "execute.commit");
+        com.codahale.metrics.Timer timer = metricsService.getTimer(QueueListener.class, "execute.dequeue");
         svcMgr = smf.getServiceManager(smf.getManagementAppId());
         LOG.info("getting from queue {} ", queueName);
         QueueScope queueScope = new QueueScopeImpl( queueName ) {};

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 0bcc272..9f532d6 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -54,6 +54,8 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
     private final JobScheduler jobScheduler;
     private final MetricsFactory metricsFactory;
     private final String queueName;
+    private final Meter queueMeter;
+    private final Meter sendMeter;
 
     HashMap<Object, ProviderAdapter> notifierHashMap; // only retrieve notifiers once
 
@@ -64,6 +66,8 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
         this.jobScheduler = jobScheduler;
         this.metricsFactory = metricsFactory;
         this.queueName = getQueueNames(properties);
+        queueMeter = metricsFactory.getMeter(ApplicationQueueManagerImpl.class, "notification.queue");
+        sendMeter = metricsFactory.getMeter(NotificationsService.class, "queue.send");
 
     }
 
@@ -77,7 +81,7 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
             em.update(notification);
             return;
         }
-        final Meter queueMeter = metricsFactory.getMeter(ApplicationQueueManagerImpl.class,"queue");
+
         long startTime = System.currentTimeMillis();
 
         if (notification.getCanceled() == Boolean.TRUE) {
@@ -175,13 +179,13 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
             //process up to 10 concurrently
             Observable o = rx.Observable.create( new IteratorObservable<Entity>( iterator ) )
 
-                                        .flatMap( entity -> Observable.just( entity ).map( entityListFunct )
-                                                                      .doOnError( throwable -> {
-                                                                          LOG.error( "Failed while writing",
-                                                                              throwable );
-                                                                      } ).subscribeOn( Schedulers.io() )
+                                        .flatMap(entity -> Observable.just(entity).map(entityListFunct)
+                                            .doOnError(throwable -> {
+                                                LOG.error("Failed while writing",
+                                                    throwable);
+                                            }).subscribeOn(Schedulers.io())
 
-                                            , 10 );
+                                            , 10);
 
             o.toBlocking().lastOrDefault( null );
             LOG.info( "notification {} done queueing duration {} ms", notification.getUuid(), System.currentTimeMillis() - now);
@@ -260,7 +264,6 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
     @Override
     public Observable sendBatchToProviders(final List<QueueMessage> messages, final String queuePath) {
         LOG.info("sending batch of {} notifications.", messages.size());
-        final Meter sendMeter = metricsFactory.getMeter(NotificationsService.class, "send");
 
         final Map<Object, ProviderAdapter> notifierMap = getAdapterMap();
         final ApplicationQueueManagerImpl proxy = this;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/179e0062/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 2d8dd7a..c85128f 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
@@ -18,12 +18,8 @@ package org.apache.usergrid.services.queues;
 
 import com.codahale.metrics.*;
 import com.codahale.metrics.Timer;
-import com.google.common.cache.*;
 import com.google.inject.Injector;
 
-import org.apache.usergrid.corepersistence.CpSetup;
-
-import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.EntityManagerFactory;
 
 import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
@@ -32,10 +28,9 @@ import org.apache.usergrid.persistence.queue.QueueManager;
 import org.apache.usergrid.persistence.queue.impl.QueueScopeImpl;
 import org.apache.usergrid.services.ServiceManager;
 import org.apache.usergrid.services.ServiceManagerFactory;
-import org.apache.usergrid.services.notifications.impl.ApplicationQueueManagerImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import rx.Observable;
+
 import javax.annotation.PostConstruct;
 import java.util.*;
 import java.util.concurrent.*;
@@ -78,7 +73,8 @@ public abstract class QueueListener  {
     private String queueName;
     public QueueManager TEST_QUEUE_MANAGER;
     private int consecutiveCallsToRemoveDevices;
-
+    private Meter meter;
+    private Timer timer;
 
     /**
      * Initializes the QueueListener.
@@ -93,6 +89,8 @@ public abstract class QueueListener  {
         this.emf = injector.getInstance( EntityManagerFactory.class ); //emf;
         this.metricsService = injector.getInstance(MetricsFactory.class);
         this.properties = props;
+        meter = metricsService.getMeter(QueueListener.class, "execute.commit");
+        timer = metricsService.getTimer(QueueListener.class, "execute.dequeue");
 
     }
 
@@ -160,8 +158,6 @@ public abstract class QueueListener  {
 
         final AtomicInteger consecutiveExceptions = new AtomicInteger();
         LOG.info("QueueListener: Starting execute process.");
-        Meter meter = metricsService.getMeter(QueueListener.class, "queue");
-        com.codahale.metrics.Timer timer = metricsService.getTimer(QueueListener.class, "dequeue");
         svcMgr = smf.getServiceManager(smf.getManagementAppId());
         LOG.info("getting from queue {} ", queueName);
         QueueScope queueScope = new QueueScopeImpl( queueName);


[8/9] incubator-usergrid git commit: removed Schedulers.io() per Todd's request

Posted by to...@apache.org.
removed Schedulers.io() per Todd's request


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/cc2ae8e9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/cc2ae8e9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/cc2ae8e9

Branch: refs/heads/two-dot-o-dev
Commit: cc2ae8e98fbeba2b957667d2beae6728b656a211
Parents: 591676b
Author: Jeff West <jw...@apigee.com>
Authored: Mon Jun 8 17:13:24 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Mon Jun 8 17:13:24 2015 -0700

----------------------------------------------------------------------
 .../services/notifications/impl/ApplicationQueueManagerImpl.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cc2ae8e9/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 9f532d6..5f2f544 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -183,8 +183,7 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                                             .doOnError(throwable -> {
                                                 LOG.error("Failed while writing",
                                                     throwable);
-                                            }).subscribeOn(Schedulers.io())
-
+                                            })
                                             , 10);
 
             o.toBlocking().lastOrDefault( null );


[5/9] incubator-usergrid git commit: added debug logging and exception handling I should have done last time...

Posted by to...@apache.org.
added debug logging and exception handling I should have done last time...


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/1ba2ce40
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/1ba2ce40
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/1ba2ce40

Branch: refs/heads/two-dot-o-dev
Commit: 1ba2ce40bf98c8b0a8b9b79d9d6c5de1f742823b
Parents: 2e6b4e5
Author: Jeff West <jw...@apigee.com>
Authored: Fri Jun 5 16:59:50 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Fri Jun 5 16:59:50 2015 -0700

----------------------------------------------------------------------
 .../queue/impl/SNSQueueManagerImpl.java         | 68 ++++++++++++++------
 .../queue/util/AmazonNotificationUtils.java     | 17 +++--
 2 files changed, 61 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1ba2ce40/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 802c2ce..e5c0c2a 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
@@ -118,13 +118,25 @@ public class SNSQueueManagerImpl implements QueueManager {
     private String setupMultiRegion(final String queueName)
         throws Exception {
 
+        logger.info("Setting up SNS/SQS...");
+
         String primaryTopicArn = AmazonNotificationUtils.getTopicArn(queueName, sns, true);
 
+        if (logger.isDebugEnabled()) logger.debug("SNS/SQS Setup: primaryTopicArn=" + primaryTopicArn);
+
         String primaryQueueArn = AmazonNotificationUtils.getQueueArnByName(queueName, sqs);
 
+        if (logger.isDebugEnabled()) logger.debug("SNS/SQS Setup: primaryQueueArn=" + primaryQueueArn);
+
         if (primaryQueueArn == null) {
+            if (logger.isDebugEnabled())
+                logger.debug("SNS/SQS Setup: primaryQueueArn is null, setting creating queue...");
+
             String queueUrl = AmazonNotificationUtils.createQueue(queueName, sqs, fig);
             primaryQueueArn = AmazonNotificationUtils.getQueueArnByUrl(queueUrl, sqs);
+
+            if (logger.isDebugEnabled())
+                logger.debug("SNS/SQS Setup: New Queue URL=[{}] ARN=[{}]", queueUrl, primaryQueueArn);
         }
 
         AmazonNotificationUtils.subscribeQueueToTopic(primaryTopicArn, primaryQueueArn, sns);
@@ -132,6 +144,10 @@ public class SNSQueueManagerImpl implements QueueManager {
         if (fig.isMultiRegion()) {
 
             String multiRegion = fig.getRegionList();
+
+            if (logger.isDebugEnabled())
+                logger.debug("MultiRegion Setup specified, regions: {}", multiRegion);
+
             String[] regionNames = multiRegion.split(",");
 
             final Set<String> arrQueueArns = new HashSet<>(regionNames.length + 1);
@@ -213,45 +229,55 @@ public class SNSQueueManagerImpl implements QueueManager {
 
     @Override
     public rx.Observable<QueueMessage> getMessages(final int limit,
-                                          final int transactionTimeout,
-                                          final int waitTime,
-                                          final Class klass) {
+                                                   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();
         }
 
-
         String url = getReadQueue().getUrl();
 
-        if (logger.isDebugEnabled()) logger.debug("Getting {} messages from {}", limit, url);
+        if (logger.isDebugEnabled()) logger.debug("Getting up to {} messages from {}", limit, url);
 
         ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(url);
         receiveMessageRequest.setMaxNumberOfMessages(limit);
         receiveMessageRequest.setVisibilityTimeout(transactionTimeout / 1000);
         receiveMessageRequest.setWaitTimeSeconds(waitTime / 1000);
-        ReceiveMessageResult result = sqs.receiveMessage(receiveMessageRequest);
-        List<Message> messages = result.getMessages();
 
-        if (logger.isDebugEnabled()) logger.debug("Received {} messages from {}", messages.size(), url);
+        try {
+            ReceiveMessageResult result = sqs.receiveMessage(receiveMessageRequest);
+            List<Message> messages = result.getMessages();
+
+            if (logger.isDebugEnabled()) logger.debug("Received {} messages from {}", messages.size(), url);
 
-        List<QueueMessage> queueMessages = new ArrayList<>(messages.size());
+            List<QueueMessage> queueMessages = new ArrayList<>(messages.size());
 
-        for (Message message : messages) {
-            Object body;
+            for (Message message : messages) {
+                Object body;
 
-            try {
-                body = fromString(message.getBody(), klass);
-            } catch (Exception e) {
-                logger.error("failed to deserialize message", e);
-                throw new RuntimeException(e);
+                try {
+                    body = fromString(message.getBody(), klass);
+                } catch (Exception e) {
+                    logger.error(String.format("failed to deserialize message: %s", message.getBody()), e);
+                    throw new RuntimeException(e);
+                }
+
+                QueueMessage queueMessage = new QueueMessage(message.getMessageId(), message.getReceiptHandle(), body, message.getAttributes().get("type"));
+                queueMessages.add(queueMessage);
             }
 
-            QueueMessage queueMessage = new QueueMessage(message.getMessageId(), message.getReceiptHandle(), body, message.getAttributes().get("type"));
-            queueMessages.add(queueMessage);
+            return rx.Observable.from(queueMessages);
+
+        } catch (com.amazonaws.services.sqs.model.QueueDoesNotExistException dne) {
+            logger.error(String.format("Queue does not exist! [%s]", url), dne);
+        } catch (Exception e) {
+            logger.error(String.format("Programming error getting messages from queue=[%s] exist!", url), e);
         }
-        return rx.Observable.from( queueMessages);
+
+        return rx.Observable.from(new ArrayList<>(0));
     }
 
     @Override
@@ -292,7 +318,8 @@ public class SNSQueueManagerImpl implements QueueManager {
     @Override
     public void commitMessage(final QueueMessage queueMessage) {
         String url = getReadQueue().getUrl();
-        if (logger.isDebugEnabled()) logger.debug("Commit message {} to queue {}", queueMessage.getMessageId(), url);
+        if (logger.isDebugEnabled())
+            logger.debug("Commit message {} to queue {}", queueMessage.getMessageId(), url);
 
         sqs.deleteMessage(new DeleteMessageRequest()
             .withQueueUrl(url)
@@ -328,6 +355,7 @@ public class SNSQueueManagerImpl implements QueueManager {
     /**
      * Read the object from Base64 string.
      */
+
     private Object fromString(final String s, final Class klass)
         throws IOException, ClassNotFoundException {
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1ba2ce40/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 bdceb2c..852fc43 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
@@ -80,7 +80,6 @@ public class AmazonNotificationUtils {
         }
 
         if (queueUrl != null) {
-            String queueArn = null;
 
             try {
                 GetQueueAttributesRequest queueAttributesRequest = new GetQueueAttributesRequest(queueUrl)
@@ -104,8 +103,6 @@ public class AmazonNotificationUtils {
                                           final AmazonSQSClient sqs)
         throws Exception {
 
-        String queueArn = null;
-
         try {
             GetQueueAttributesRequest queueAttributesRequest = new GetQueueAttributesRequest(queueUrl)
                 .withAttributeNames("All");
@@ -154,6 +151,9 @@ public class AmazonNotificationUtils {
                                      final boolean createOnMissing)
         throws Exception {
 
+        if (logger.isDebugEnabled())
+            logger.debug("Looking up Topic ARN: {}", queueName);
+
         ListTopicsResult listTopicsResult = sns.listTopics();
         String topicArn = null;
 
@@ -162,15 +162,24 @@ public class AmazonNotificationUtils {
 
             if (queueName.equals(arn.substring(arn.lastIndexOf(':')))) {
                 topicArn = arn;
+
+                logger.info("Found existing topic arn=[{}] for queue=[{}]", topicArn, queueName);
             }
         }
 
         if (topicArn == null && createOnMissing) {
+            logger.info("Creating topic for queue=[{}]...", queueName);
+
             CreateTopicResult createTopicResult = sns.createTopic(queueName);
             topicArn = createTopicResult.getTopicArn();
-            logger.info("Created topic with name {} and arn {}", queueName, topicArn);
+
+            logger.info("Successfully created topic with name {} and arn {}", queueName, topicArn);
         }
 
+        if (logger.isDebugEnabled())
+            logger.debug("Returning Topic ARN=[{}] for Queue=[{}]", topicArn, queueName);
+
+
         return topicArn;
     }
 


[9/9] incubator-usergrid git commit: Merge branch 'two-dot-o-dev' into pr/269

Posted by to...@apache.org.
Merge branch 'two-dot-o-dev' into pr/269


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/aebab48f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/aebab48f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/aebab48f

Branch: refs/heads/two-dot-o-dev
Commit: aebab48fdd03b8ed68d1691f64190cace817fb6a
Parents: cc2ae8e 30ba024
Author: Todd Nine <tn...@apigee.com>
Authored: Tue Jun 9 16:56:21 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Tue Jun 9 16:56:21 2015 -0600

----------------------------------------------------------------------
 .../index/ReIndexRequestBuilderImpl.java        |   2 +-
 .../org/apache/usergrid/rest/IndexResource.java |   7 +-
 .../security/SecuredResourceFilterFactory.java  |   2 +
 .../java/org/apache/usergrid/rest/BasicIT.java  |  24 ++---
 .../apache/usergrid/rest/IndexResourceIT.java   | 101 +++++++++++++------
 .../rest/management/ManagementResourceIT.java   |   2 +-
 .../test/resource2point0/AbstractRestIT.java    |   4 +-
 .../endpoints/NamedResource.java                |  37 +++++--
 8 files changed, 125 insertions(+), 54 deletions(-)
----------------------------------------------------------------------



[7/9] incubator-usergrid git commit: Fix for USERGRID-729 for Queue URL vs. ARN

Posted by to...@apache.org.
Fix for USERGRID-729 for Queue URL vs. ARN


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/591676bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/591676bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/591676bf

Branch: refs/heads/two-dot-o-dev
Commit: 591676bf1eb98c1f47189de0f8bab39d2f0c67d4
Parents: 30a4d36
Author: Jeff West <jw...@apigee.com>
Authored: Sun Jun 7 20:31:01 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Sun Jun 7 20:31:01 2015 -0700

----------------------------------------------------------------------
 .../queue/impl/SNSQueueManagerImpl.java         | 80 ++++++++++----------
 1 file changed, 41 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/591676bf/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 e5c0c2a..dc1a5ca 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
@@ -55,46 +55,48 @@ public class SNSQueueManagerImpl implements QueueManager {
     private static SmileFactory smileFactory = new SmileFactory();
 
     private final LoadingCache<String, String> writeTopicArnMap = CacheBuilder.newBuilder()
-        .maximumSize(1000)
-        .build(new CacheLoader<String, String>() {
-            @Override
-            public String load(String queueName)
-                throws Exception {
+            .maximumSize(1000)
+            .build(new CacheLoader<String, String>() {
+                @Override
+                public String load(String queueName)
+                        throws Exception {
 
-                String primaryTopicArn = setupMultiRegion(queueName);
-
-                return primaryTopicArn;
-            }
-        });
-
-    private final LoadingCache<String, Queue> readQueueUrlMap = CacheBuilder.newBuilder()
-        .maximumSize(1000)
-        .build(new CacheLoader<String, Queue>() {
-            @Override
-            public Queue load(String queueName) throws Exception {
-
-                Queue queue = null;
-
-                try {
-                    GetQueueUrlResult result = sqs.getQueueUrl(queueName);
-                    queue = new Queue(result.getQueueUrl());
-                } catch (QueueDoesNotExistException queueDoesNotExistException) {
-                    logger.error("Queue {} does not exist, creating", queueName);
-                } catch (Exception e) {
-                    logger.error("failed to get queue from service", e);
-                    throw e;
-                }
-
-                if (queue == null) {
                     String primaryTopicArn = setupMultiRegion(queueName);
 
-                    String url = AmazonNotificationUtils.getQueueArnByName(queueName, sqs);
-                    queue = new Queue(url);
+                    return primaryTopicArn;
                 }
+            });
 
-                return queue;
-            }
-        });
+    private final LoadingCache<String, Queue> readQueueUrlMap = CacheBuilder.newBuilder()
+            .maximumSize(1000)
+            .build(new CacheLoader<String, Queue>() {
+                @Override
+                public Queue load(String queueName) throws Exception {
+
+                    Queue queue = null;
+
+                    try {
+                        GetQueueUrlResult result = sqs.getQueueUrl(queueName);
+                        queue = new Queue(result.getQueueUrl());
+                    } catch (QueueDoesNotExistException queueDoesNotExistException) {
+                        logger.error("Queue {} does not exist, creating", queueName);
+                    } catch (Exception e) {
+                        logger.error("failed to get queue from service", e);
+                        throw e;
+                    }
+
+                    if (queue == null) {
+                        String url = AmazonNotificationUtils.createQueue(queueName, sqs, fig);
+                        queue = new Queue(url);
+                    }
+
+                    if (fig.isMultiRegion()) {
+                        String primaryTopicArn = setupMultiRegion(queueName);
+                    }
+
+                    return queue;
+                }
+            });
 
 
     @Inject
@@ -116,7 +118,7 @@ public class SNSQueueManagerImpl implements QueueManager {
     }
 
     private String setupMultiRegion(final String queueName)
-        throws Exception {
+            throws Exception {
 
         logger.info("Setting up SNS/SQS...");
 
@@ -322,8 +324,8 @@ public class SNSQueueManagerImpl implements QueueManager {
             logger.debug("Commit message {} to queue {}", queueMessage.getMessageId(), url);
 
         sqs.deleteMessage(new DeleteMessageRequest()
-            .withQueueUrl(url)
-            .withReceiptHandle(queueMessage.getHandle()));
+                .withQueueUrl(url)
+                .withReceiptHandle(queueMessage.getHandle()));
     }
 
 
@@ -357,7 +359,7 @@ public class SNSQueueManagerImpl implements QueueManager {
      */
 
     private Object fromString(final String s, final Class klass)
-        throws IOException, ClassNotFoundException {
+            throws IOException, ClassNotFoundException {
 
         Object o = mapper.readValue(s, klass);
         return o;


[2/9] incubator-usergrid git commit: Merge branch 'two-dot-o-dev' of github.com:apache/incubator-usergrid into two-dot-o-dev

Posted by to...@apache.org.
Merge branch 'two-dot-o-dev' of github.com:apache/incubator-usergrid into two-dot-o-dev

# By Shawn Feldman (4) and Todd Nine (2)
# Via Shawn Feldman (2) and Todd Nine (1)
* 'two-dot-o-dev' of github.com:apache/incubator-usergrid:
  observable test
  remove keyspace dependency
  remove keyspace dependency
  new name strategy
  Fixes issue with ignored compaction operation on edge delete
  Adds meta support on GET.  The delete is not working correctly.


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/e5c613eb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/e5c613eb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/e5c613eb

Branch: refs/heads/two-dot-o-dev
Commit: e5c613ebb0daab9e11981b5ef5691949048c43bf
Parents: 179e006 05f8172
Author: Jeff West <jw...@apigee.com>
Authored: Fri Jun 5 11:37:57 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Fri Jun 5 11:37:57 2015 -0700

----------------------------------------------------------------------
 .../corepersistence/CpEntityManager.java        |  38 ++++++-
 .../corepersistence/CpRelationManager.java      |  18 +--
 .../usergrid/corepersistence/CpWalker.java      |   4 +-
 .../asyncevents/EventBuilderImpl.java           |   4 +-
 .../corepersistence/util/CpNamingUtils.java     |  52 ++++++++-
 .../usergrid/persistence/AbstractEntity.java    |  11 ++
 .../usergrid/persistence/EntityManager.java     |  19 ++++
 .../apache/usergrid/persistence/EntityRef.java  |   5 +
 .../persistence/MultiQueryIterator.java         |  10 ++
 .../persistence/SimpleCollectionRef.java        |   8 ++
 .../usergrid/persistence/SimpleEntityRef.java   |   7 ++
 .../usergrid/persistence/SimpleRoleRef.java     |   8 ++
 .../cassandra/ConnectionRefImpl.java            |   8 ++
 .../rx/AllEntitiesInSystemObservableIT.java     |  18 +--
 .../apache/usergrid/utils/EdgeTestUtils.java    |   4 +-
 .../impl/stage/NodeDeleteListenerImpl.java      | 113 ++++++++-----------
 .../persistence/index/IndexIdentifier.java      |  48 ++++++++
 .../persistence/index/guice/IndexModule.java    |   2 +-
 .../impl/EsApplicationEntityIndexImpl.java      |  10 +-
 .../index/impl/EsEntityIndexBatchImpl.java      |   7 +-
 .../index/impl/EsEntityIndexFactoryImpl.java    |   5 +-
 .../index/impl/EsEntityIndexImpl.java           |  13 +--
 .../persistence/index/impl/IndexIdentifier.java |  46 --------
 .../index/impl/IndexIdentifierImpl.java         |  67 -----------
 .../index/impl/IndexIdentifierv1Impl.java       |  68 +++++++++++
 .../index/impl/IndexIdentifierv2Impl.java       |  87 ++++++++++++++
 .../index/impl/IndexRefreshCommandImpl.java     |   7 +-
 .../persistence/index/impl/EntityIndexTest.java |  35 ++++--
 .../usergrid/services/AbstractService.java      |  16 ++-
 29 files changed, 475 insertions(+), 263 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e5c613eb/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e5c613eb/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e5c613eb/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e5c613eb/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
----------------------------------------------------------------------


[3/9] incubator-usergrid git commit: updated timer name

Posted by to...@apache.org.
updated timer name


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/ca28a4aa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/ca28a4aa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/ca28a4aa

Branch: refs/heads/two-dot-o-dev
Commit: ca28a4aa4c016ed1a65a6f71eafeed883cb87354
Parents: e5c613e
Author: Jeff West <jw...@apigee.com>
Authored: Fri Jun 5 12:00:29 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Fri Jun 5 12:00:29 2015 -0700

----------------------------------------------------------------------
 .../java/org/apache/usergrid/corepersistence/CpEntityManager.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ca28a4aa/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 038d4dc..fd0c40e 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
@@ -1724,7 +1724,7 @@ public class CpEntityManager implements EntityManager {
             getRolePermissionsKey( roleName ), permission, ByteBuffer.allocate( 0 ), timestamp );
         //Adding graphite metrics
         Timer.Context timeGrantRolePermission = this.metricsFactory.getTimer(CpEntityManager.class,
-            "cp.entity.create.role.permission.timer").time();
+            "role.create_permission").time();
         CassandraPersistenceUtils.batchExecute( batch, CassandraService.RETRY_COUNT );
         timeGrantRolePermission.stop();
     }


[6/9] incubator-usergrid git commit: added typical file location for properties files

Posted by to...@apache.org.
added typical file location for properties files


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/30a4d36b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/30a4d36b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/30a4d36b

Branch: refs/heads/two-dot-o-dev
Commit: 30a4d36b98c486cf2ca06057546d5e547196aced
Parents: 1ba2ce4
Author: Jeff West <jw...@apigee.com>
Authored: Fri Jun 5 18:14:47 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Fri Jun 5 18:14:47 2015 -0700

----------------------------------------------------------------------
 stack/rest/src/main/resources/usergrid-rest-deploy-context.xml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/30a4d36b/stack/rest/src/main/resources/usergrid-rest-deploy-context.xml
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/resources/usergrid-rest-deploy-context.xml b/stack/rest/src/main/resources/usergrid-rest-deploy-context.xml
index e9b7ccd..b7bf658 100644
--- a/stack/rest/src/main/resources/usergrid-rest-deploy-context.xml
+++ b/stack/rest/src/main/resources/usergrid-rest-deploy-context.xml
@@ -33,6 +33,7 @@
 		<property name="locations">
 			<list>
 				<value>classpath:/usergrid-default.properties</value>
+				<value>file:/usr/share/tomcat7/lib/usergrid-deployment.properties</value>
 			</list>
 		</property>
 	</bean>


[4/9] incubator-usergrid git commit: changed default timeout for queue read to 10000 (10s)

Posted by to...@apache.org.
changed default timeout for queue read to 10000 (10s)


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/2e6b4e59
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/2e6b4e59
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/2e6b4e59

Branch: refs/heads/two-dot-o-dev
Commit: 2e6b4e59232c2b4fb4da2a8653208feeb92aaa5d
Parents: ca28a4a
Author: Jeff West <jw...@apigee.com>
Authored: Fri Jun 5 16:59:31 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Fri Jun 5 16:59:31 2015 -0700

----------------------------------------------------------------------
 .../apache/usergrid/corepersistence/index/IndexProcessorFig.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2e6b4e59/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 3feaeaf..f6fe863 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
@@ -69,7 +69,7 @@ public interface IndexProcessorFig extends GuicyFig {
     long getFailureRetryTime();
 
     //give us 60 seconds to process the message
-    @Default( "100000" )
+    @Default( "10000" )
     @Key( INDEX_QUEUE_READ_TIMEOUT )
     int getIndexQueueTimeout();