Merge branch 'stable-3.7' into stable-3.8 * stable-3.7: Enable metrics for the high-availability executors' queues Change-Id: I132f2bf68d0f24bb6a909ad65f9182ae0ab2fce0
diff --git a/BUILD b/BUILD index 01ed84f..3c2ad22 100644 --- a/BUILD +++ b/BUILD
@@ -15,6 +15,7 @@ "Gerrit-Module: com.ericsson.gerrit.plugins.highavailability.Module", "Gerrit-HttpModule: com.ericsson.gerrit.plugins.highavailability.HttpModule", "Gerrit-InitStep: com.ericsson.gerrit.plugins.highavailability.Setup", + "Gerrit-ReloadMode: restart", "Implementation-Title: high-availability plugin", "Implementation-URL: https://gerrit-review.googlesource.com/#/admin/projects/plugins/high-availability", ],
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java index 3d3212b..b61ca68 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java
@@ -24,7 +24,7 @@ private ScheduledExecutorService executor; protected ExecutorProvider(WorkQueue workQueue, int threadPoolSize, String threadNamePrefix) { - executor = workQueue.createQueue(threadPoolSize, threadNamePrefix); + executor = workQueue.createQueue(threadPoolSize, threadNamePrefix, true); } @Override
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexModule.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexModule.java index 3bcc34f..171218d 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexModule.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexModule.java
@@ -31,17 +31,20 @@ bind(ScheduledExecutorService.class) .annotatedWith(IndexExecutor.class) .toProvider(IndexExecutorProvider.class); + listener().to(IndexExecutorProvider.class); bind(ScheduledExecutorService.class) .annotatedWith(ForwardedIndexExecutor.class) .toProvider(ForwardedIndexExecutorProvider.class); + listener().to(ForwardedIndexExecutorProvider.class); bind(IndexEventLocks.class).in(Scopes.SINGLETON); bind(ScheduledExecutorService.class) .annotatedWith(BatchIndexExecutor.class) .toProvider(BatchIndexExecutorProvider.class); + listener().to(BatchIndexExecutorProvider.class); bind(ScheduledExecutorService.class) .annotatedWith(ForwardedBatchIndexExecutor.class) .toProvider(ForwardedBatchIndexExecutorProvider.class); - listener().to(IndexExecutorProvider.class); + listener().to(ForwardedBatchIndexExecutorProvider.class); DynamicSet.bind(binder(), ChangeIndexedListener.class) .to(IndexEventHandler.class) .in(Scopes.SINGLETON);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java index 7f7071b..e682bb3 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java
@@ -39,7 +39,8 @@ @Before public void setUp() throws Exception { WorkQueue workQueueMock = mock(WorkQueue.class); - when(workQueueMock.createQueue(4, "Forward-Cache-Eviction-Event")).thenReturn(executorMock); + when(workQueueMock.createQueue(4, "Forward-Cache-Eviction-Event", true)) + .thenReturn(executorMock); Configuration configMock = mock(Configuration.class, Answers.RETURNS_DEEP_STUBS); when(configMock.cache().threadPoolSize()).thenReturn(4);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java index 6e666ed..d99dcf3 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java
@@ -35,7 +35,7 @@ @Before public void setUp() throws Exception { WorkQueue workQueueMock = mock(WorkQueue.class); - when(workQueueMock.createQueue(1, "Forward-Stream-Event")).thenReturn(executorMock); + when(workQueueMock.createQueue(1, "Forward-Stream-Event", true)).thenReturn(executorMock); eventsExecutorProvider = new EventExecutorProvider(workQueueMock); }
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java index abab0b9..a9d412f 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java
@@ -38,7 +38,7 @@ public void setUp() throws Exception { executorMock = mock(ScheduledThreadPoolExecutor.class); WorkQueue workQueueMock = mock(WorkQueue.class); - when(workQueueMock.createQueue(4, "Forward-Index-Event")).thenReturn(executorMock); + when(workQueueMock.createQueue(4, "Forward-Index-Event", true)).thenReturn(executorMock); Configuration configMock = mock(Configuration.class, Answers.RETURNS_DEEP_STUBS); when(configMock.index().threadPoolSize()).thenReturn(4); indexExecutorProvider = new IndexExecutorProvider(workQueueMock, configMock);