Skip to content

Commit ef7c9e1

Browse files
authored
---
yaml --- r: 8539 b: refs/heads/snehashah-bugfix c: d2419d4 h: refs/heads/master i: 8537: f12c351 8535: 6939f26
1 parent 4ff1c08 commit ef7c9e1

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,4 @@ refs/heads/vkedia-patch-3: 4d128043acaa7db9160faf439d2ca6104e8a88cb
7373
refs/tags/v0.23.0: e5405e1f6d144441b889acd3b6405fdcc3cdfd72
7474
refs/tags/v0.23.1: 30bcf8076ef9d71cc5a858d026cb907bb0954bec
7575
refs/tags/v0.24.0: b3cf61898d9c63d028fe088c14486721318d5fd5
76-
refs/heads/snehashah-bugfix: 8f7792580e9e3de9d3b8e1fb5f61f9dba413a660
76+
refs/heads/snehashah-bugfix: d2419d40e9a28f1a79d17b793b740c3c6c140fc9

branches/snehashah-bugfix/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/MessageDispatcher.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import java.util.concurrent.ScheduledFuture;
4242
import java.util.concurrent.TimeUnit;
4343
import java.util.concurrent.atomic.AtomicBoolean;
44+
import java.util.concurrent.atomic.AtomicInteger;
4445
import java.util.concurrent.locks.Lock;
4546
import java.util.concurrent.locks.ReentrantLock;
4647
import java.util.logging.Level;
@@ -76,7 +77,9 @@ class MessageDispatcher {
7677
private final Set<String> pendingNacks;
7778

7879
private final Lock alarmsLock;
79-
private int messageDeadlineSeconds;
80+
// The deadline should be set by the subscriber connection before use,
81+
// but set it to some reasonable value just in case.
82+
private final AtomicInteger messageDeadlineSeconds = new AtomicInteger(10);
8083
private ScheduledFuture<?> ackDeadlineExtensionAlarm;
8184
private Instant nextAckDeadlineExtensionAlarmTime;
8285
private ScheduledFuture<?> pendingAcksAlarm;
@@ -276,11 +279,11 @@ public void stop() {
276279
}
277280

278281
public void setMessageDeadlineSeconds(int messageDeadlineSeconds) {
279-
this.messageDeadlineSeconds = messageDeadlineSeconds;
282+
this.messageDeadlineSeconds.set(messageDeadlineSeconds);
280283
}
281284

282285
public int getMessageDeadlineSeconds() {
283-
return messageDeadlineSeconds;
286+
return messageDeadlineSeconds.get();
284287
}
285288

286289
static class OutstandingMessageBatch {
@@ -336,7 +339,7 @@ public void processReceivedMessages(List<ReceivedMessage> messages, Runnable don
336339
}
337340

338341
Instant expiration = Instant.ofEpochMilli(clock.millisTime())
339-
.plusSeconds(messageDeadlineSeconds);
342+
.plusSeconds(messageDeadlineSeconds.get());
340343
synchronized (outstandingAckHandlers) {
341344
outstandingAckHandlers.add(
342345
new ExtensionJob(

0 commit comments

Comments
 (0)