4141 */
4242class AckDeadlineRenewer implements AutoCloseable {
4343
44- private static final int MIN_DEADLINE_MILLIS = 9_000 ;
44+ private static final int MIN_DEADLINE_MILLIS = 10_000 ;
45+ private static final int DEADLINE_SLACK_MILLIS = 1_000 ;
4546 private static final int RENEW_THRESHOLD_MILLIS = 3_000 ;
4647 private static final int NEXT_RENEWAL_THRESHOLD_MILLIS = 1_000 ;
4748
@@ -213,8 +214,8 @@ private void renewAckDeadlines() {
213214 }
214215 for (Map .Entry <String , List <String >> entry : Multimaps .asMap (messagesToRenewNext ).entrySet ()) {
215216 // We send all ack deadline renewals for a subscription
216- pubsub .modifyAckDeadlineAsync (entry .getKey (), MIN_DEADLINE_MILLIS ,
217- TimeUnit . MILLISECONDS , entry .getValue ());
217+ pubsub .modifyAckDeadlineAsync (entry .getKey (), MIN_DEADLINE_MILLIS , TimeUnit . MILLISECONDS ,
218+ entry .getValue ());
218219 }
219220 unsetAndScheduleNextRenewal ();
220221 }
@@ -253,7 +254,7 @@ private Message nextMessageToRenew(long threshold) {
253254 */
254255 void add (String subscription , String ackId ) {
255256 synchronized (lock ) {
256- long deadline = clock .millis () + MIN_DEADLINE_MILLIS ;
257+ long deadline = clock .millis () + MIN_DEADLINE_MILLIS - DEADLINE_SLACK_MILLIS ;
257258 Message message = new Message (new MessageId (subscription , ackId ), deadline );
258259 messageQueue .add (message );
259260 messageDeadlines .put (message .messageId (), deadline );
@@ -272,7 +273,7 @@ void add(String subscription, String ackId) {
272273 */
273274 void add (String subscription , Iterable <String > ackIds ) {
274275 synchronized (lock ) {
275- long deadline = clock .millis () + MIN_DEADLINE_MILLIS ;
276+ long deadline = clock .millis () + MIN_DEADLINE_MILLIS - DEADLINE_SLACK_MILLIS ;
276277 for (String ackId : ackIds ) {
277278 Message message = new Message (new MessageId (subscription , ackId ), deadline );
278279 messageQueue .add (message );
0 commit comments