diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index 794606d57..cbf8bc8d8 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -163,7 +163,6 @@ import org.whispersystems.textsecuregcm.storage.DeletedAccounts; import org.whispersystems.textsecuregcm.storage.DynamicConfigurationManager; import org.whispersystems.textsecuregcm.storage.IssuedReceiptsManager; import org.whispersystems.textsecuregcm.storage.KeysManager; -import org.whispersystems.textsecuregcm.storage.MessagePersister; import org.whispersystems.textsecuregcm.storage.MessagesCache; import org.whispersystems.textsecuregcm.storage.MessagesDynamoDb; import org.whispersystems.textsecuregcm.storage.MessagesManager; @@ -547,9 +546,6 @@ public class WhisperServerService extends Application dynamicConfigurationManager, final Duration persistDelay, - final Optional dedicatedProcessWorkerThreadCount) { + final int dedicatedProcessWorkerThreadCount) { this.messagesCache = messagesCache; this.messagesManager = messagesManager; this.accountsManager = accountsManager; this.persistDelay = persistDelay; - this.workerThreads = dedicatedProcessWorkerThreadCount.map(Thread[]::new) - .orElseGet(() -> new Thread[DEFAULT_WORKER_THREAD_COUNT]); - this.dedicatedProcess = dedicatedProcessWorkerThreadCount.isPresent(); + this.workerThreads = new Thread[dedicatedProcessWorkerThreadCount]; + this.dedicatedProcess = true; for (int i = 0; i < workerThreads.length; i++) { workerThreads[i] = new Thread(() -> { while (running) { - if (enabled(dynamicConfigurationManager)) { + if (dynamicConfigurationManager.getConfiguration().getMessagePersisterConfiguration() + .isPersistenceEnabled()) { try { final int queuesPersisted = persistNextQueues(Instant.now()); queueCountHistogram.update(queuesPersisted); @@ -94,17 +91,6 @@ public class MessagePersister implements Managed { } } - @VisibleForTesting - boolean enabled(final DynamicConfigurationManager dynamicConfigurationManager) { - final DynamicMessagePersisterConfiguration messagePersisterConfiguration = dynamicConfigurationManager.getConfiguration() - .getMessagePersisterConfiguration(); - if (dedicatedProcess) { - return messagePersisterConfiguration.isDedicatedProcessEnabled(); - } - - return messagePersisterConfiguration.isServerPersistenceEnabled(); - } - @VisibleForTesting Duration getPersistDelay() { return persistDelay; diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/workers/MessagePersisterServiceCommand.java b/service/src/main/java/org/whispersystems/textsecuregcm/workers/MessagePersisterServiceCommand.java index a1be8f06f..8b0ca1cab 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/workers/MessagePersisterServiceCommand.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/workers/MessagePersisterServiceCommand.java @@ -9,7 +9,6 @@ import io.dropwizard.Application; import io.dropwizard.cli.ServerCommand; import io.dropwizard.setup.Environment; import java.time.Duration; -import java.util.Optional; import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Subparser; import org.whispersystems.textsecuregcm.WhisperServerConfiguration; @@ -65,7 +64,7 @@ public class MessagePersisterServiceCommand extends ServerCommand { final UUID destinationUuid = invocation.getArgument(0); @@ -229,31 +226,6 @@ class MessagePersisterTest { () -> messagePersister.persistQueue(DESTINATION_ACCOUNT_UUID, DESTINATION_DEVICE_ID))); } - @ParameterizedTest - @CsvSource({ - "true, true, false, false", - "true, false, true, true", - "false, true, false, true", - "false, false, true, false", - }) - void testEnabled(final boolean dedicatedProcess, final boolean serverPersistenceEnabled, - final boolean dedicatedProcessEnabled, final boolean expectEnabled) { - final DynamicConfigurationManager dynamicConfigurationManager = mock( - DynamicConfigurationManager.class); - final DynamicConfiguration dynamicConfiguration = mock(DynamicConfiguration.class); - when(dynamicConfigurationManager.getConfiguration()).thenReturn(dynamicConfiguration); - - final DynamicMessagePersisterConfiguration dynamicMessagePersisterConfiguration = mock( - DynamicMessagePersisterConfiguration.class); - when(dynamicConfiguration.getMessagePersisterConfiguration()).thenReturn(dynamicMessagePersisterConfiguration); - when(dynamicMessagePersisterConfiguration.isDedicatedProcessEnabled()).thenReturn(dedicatedProcessEnabled); - when(dynamicMessagePersisterConfiguration.isServerPersistenceEnabled()).thenReturn(serverPersistenceEnabled); - - messagePersister = new MessagePersister(messagesCache, messagesManager, accountsManager, - dynamicConfigurationManager, PERSIST_DELAY, dedicatedProcess ? Optional.of(4) : Optional.empty()); - assertEquals(expectEnabled, messagePersister.enabled(dynamicConfigurationManager)); - } - @SuppressWarnings("SameParameterValue") private static String generateRandomQueueNameForSlot(final int slot) { final UUID uuid = UUID.randomUUID();