From fa4d3c7ca96058cf46a2e7985e8e2475d5041443 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Wed, 24 Jun 2026 13:10:28 -0400 Subject: [PATCH] Avoid automatic, unbounded requests on subscription --- .../storage/AcknowledgementMirroringMessageStream.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/AcknowledgementMirroringMessageStream.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/AcknowledgementMirroringMessageStream.java index 3cc75781f..4edc35652 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/AcknowledgementMirroringMessageStream.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/AcknowledgementMirroringMessageStream.java @@ -14,6 +14,7 @@ import java.util.function.BiConsumer; import com.google.common.annotations.VisibleForTesting; import io.micrometer.core.instrument.Counter; import io.micrometer.core.instrument.Metrics; +import org.reactivestreams.Subscription; import org.whispersystems.textsecuregcm.metrics.MetricsUtil; import org.whispersystems.textsecuregcm.storage.foundationdb.FoundationDbMessageStream; import org.whispersystems.textsecuregcm.util.UUIDUtil; @@ -80,6 +81,12 @@ public class AcknowledgementMirroringMessageStream implements MessageStream { } } + @Override + protected void hookOnSubscribe(final Subscription subscription) { + // The base `hookOnSubscribe` requests `Long.MAX_VALUE` elements, and that is something we're explicitly trying + // to avoid with this subscriber + } + @Override protected void hookOnNext(final MessageStreamEntry.Envelope envelope) { mirroredMessageHandler.accept(