diff --git a/sdk/servicebus/azure-messaging-servicebus/CHANGELOG.md b/sdk/servicebus/azure-messaging-servicebus/CHANGELOG.md index fb7bdc4d6d32..62e74ebff15c 100644 --- a/sdk/servicebus/azure-messaging-servicebus/CHANGELOG.md +++ b/sdk/servicebus/azure-messaging-servicebus/CHANGELOG.md @@ -9,6 +9,7 @@ ### Bugs Fixed - Fixes the session message disposition to use management node as fall back. ([#39913](https://github.com/Azure/azure-sdk-for-java/issues/ 39913)) +- Fixes the session processor idle timeout to fall back to RetryOptions::tryTimeout. ([#39993](https://github.com/Azure/azure-sdk-for-java/issues/39993)) ### Other Changes diff --git a/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/SessionsMessagePump.java b/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/SessionsMessagePump.java index c9cc2b352fd3..2afe6d63cedc 100644 --- a/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/SessionsMessagePump.java +++ b/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/SessionsMessagePump.java @@ -167,7 +167,7 @@ final class SessionsMessagePump { this.instrumentation = Objects.requireNonNull(instrumentation, "'instrumentation' cannot be null"); this.sessionAcquirer = Objects.requireNonNull(sessionAcquirer, "'sessionAcquirer' cannot be null"); this.maxSessionLockRenew = Objects.requireNonNull(maxSessionLockRenew, "'maxSessionLockRenew' cannot be null."); - this.sessionIdleTimeout = sessionIdleTimeout; + this.sessionIdleTimeout = sessionIdleTimeout != null ? sessionIdleTimeout : retryPolicy.getRetryOptions().getTryTimeout(); this.maxConcurrentSessions = maxConcurrentSessions; this.concurrencyPerSession = concurrencyPerSession; this.prefetch = prefetch; diff --git a/sdk/servicebus/azure-messaging-servicebus/src/test/java/com/azure/messaging/servicebus/IntegrationTestBase.java b/sdk/servicebus/azure-messaging-servicebus/src/test/java/com/azure/messaging/servicebus/IntegrationTestBase.java index 8f0457dd89b3..dabb1b7d6e01 100644 --- a/sdk/servicebus/azure-messaging-servicebus/src/test/java/com/azure/messaging/servicebus/IntegrationTestBase.java +++ b/sdk/servicebus/azure-messaging-servicebus/src/test/java/com/azure/messaging/servicebus/IntegrationTestBase.java @@ -473,10 +473,16 @@ protected final Configuration v1OrV2(boolean isV2) { if (isV2) { configSource.put("com.azure.messaging.servicebus.nonSession.asyncReceive.v2", "true"); configSource.put("com.azure.messaging.servicebus.nonSession.syncReceive.v2", "true"); + configSource.put("com.azure.messaging.servicebus.session.processor.asyncReceive.v2", "true"); + configSource.put("com.azure.messaging.servicebus.session.reactor.asyncReceive.v2", "true"); + configSource.put("com.azure.messaging.servicebus.session.syncReceive.v2", "true"); configSource.put("com.azure.messaging.servicebus.sendAndManageRules.v2", "true"); } else { configSource.put("com.azure.messaging.servicebus.nonSession.asyncReceive.v2", "false"); configSource.put("com.azure.messaging.servicebus.nonSession.syncReceive.v2", "false"); + configSource.put("com.azure.messaging.servicebus.session.processor.asyncReceive.v2", "false"); + configSource.put("com.azure.messaging.servicebus.session.reactor.asyncReceive.v2", "false"); + configSource.put("com.azure.messaging.servicebus.session.syncReceive.v2", "false"); configSource.put("com.azure.messaging.servicebus.sendAndManageRules.v2", "false"); } return new ConfigurationBuilder(configSource)