Repository: usergrid Updated Branches: refs/heads/master 746416736 -> eaf3b5278
Tests use a different injector, clear the queue name cache using other means. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/eaf3b527 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/eaf3b527 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/eaf3b527 Branch: refs/heads/master Commit: eaf3b527851673cf0faab1549aa1fc7060f3bfac Parents: 7464167 Author: Michael Russo <[email protected]> Authored: Sat Nov 19 00:32:52 2016 -0800 Committer: Michael Russo <[email protected]> Committed: Sat Nov 19 00:32:52 2016 -0800 ---------------------------------------------------------------------- .../corepersistence/asyncevents/AsyncEventServiceImpl.java | 3 +++ .../java/org/apache/usergrid/persistence/CoreSchemaManager.java | 2 -- .../apache/usergrid/persistence/queue/impl/QakkaQueueManager.java | 2 ++ .../org/apache/usergrid/services/notifications/QueueListener.java | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/eaf3b527/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventServiceImpl.java ---------------------------------------------------------------------- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventServiceImpl.java index 66b527b..412a173 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventServiceImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventServiceImpl.java @@ -875,6 +875,9 @@ public class AsyncEventServiceImpl implements AsyncEventService { catch ( Throwable t ) { final long sleepTime = indexProcessorFig.getFailureRetryTime(); + // there might be an error here during tests, just clean the cache + queue.clearQueueNameCache(); + logger.error( "Failed to dequeue. Sleeping for {} milliseconds", sleepTime, t ); if ( drainList != null ) { http://git-wip-us.apache.org/repos/asf/usergrid/blob/eaf3b527/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java ---------------------------------------------------------------------- diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java b/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java index 34c29ac..f57aea2 100644 --- a/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java +++ b/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java @@ -91,8 +91,6 @@ public class CoreSchemaManager implements SchemaManager { //swallow if it just doesn't exist } logger.info( "keyspaces dropped" ); - SpringResource.getInstance().getBean( Injector.class ) - .getInstance( LegacyQueueManager.class ).clearQueueNameCache(); logger.info( "dropping indices" ); final EsProvider provider = SpringResource.getInstance().getBean( Injector.class ).getInstance( EsProvider.class ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/eaf3b527/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QakkaQueueManager.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QakkaQueueManager.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QakkaQueueManager.java index 264e99c..8887584 100644 --- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QakkaQueueManager.java +++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QakkaQueueManager.java @@ -59,6 +59,8 @@ public class QakkaQueueManager implements LegacyQueueManager { this.queueMessageManager = queueMessageManager; this.regions = regions; this.queueNames = new HashSet<>(); + + createQueueIfNecessary(); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/eaf3b527/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 796450b..7d02360 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 @@ -275,6 +275,9 @@ public class QueueListener { consecutiveExceptions.set(0); }catch (Exception ex){ logger.error("failed to dequeue",ex); + + // clear the queue name cache b/c tests might have wiped the keyspace + legacyQueueManager.clearQueueNameCache(); try { long sleeptime = sleepWhenNoneFound*consecutiveExceptions.incrementAndGet(); long maxSleep = 15000;
