Skip to content

Commit ba4f5b8

Browse files
fix: create inFlightSeek on stream reinitialize (#35)
When a stream reconnects, a seek request is made on occasion. We need to set an inFlightSeek, otherwise we run into the following permanent error: https://github.com/googleapis/java-pubsublite/blob/master/google-cloud-pubsublite/src/main/java/com/google/cloud/pubsublite/internal/wire/SubscriberImpl.java#L211
1 parent b3b064f commit ba4f5b8

File tree

1 file changed

+5
-1
lines changed
  • google-cloud-pubsublite/src/main/java/com/google/cloud/pubsublite/internal/wire

1 file changed

+5
-1
lines changed

google-cloud-pubsublite/src/main/java/com/google/cloud/pubsublite/internal/wire/SubscriberImpl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,11 @@ public void triggerReinitialize() {
166166
checkArgument(connectedSubscriber.isPresent());
167167
nextOffsetTracker
168168
.requestForRestart()
169-
.ifPresent(request -> connectedSubscriber.get().seek(request));
169+
.ifPresent(
170+
request -> {
171+
inFlightSeek = Optional.of(SettableApiFuture.create());
172+
connectedSubscriber.get().seek(request);
173+
});
170174
tokenCounter
171175
.requestForRestart()
172176
.ifPresent(request -> connectedSubscriber.get().allowFlow(request));

0 commit comments

Comments
 (0)