<@U078Y59KC3B> java.util.concurrent.CompletionExce...
# ask-ai
s
@RunLLM java.util.concurrent.CompletionException: org.apache.pulsar.common.util.FutureUtil$LowOverheadTimeoutException: Failed to load topic within timeout seeing this exception in 3.0.6
r
This exception means the Pulsar broker could not load the topic within the configured timeout, so the client receives a timeout error. This can be caused by slow topic initialization, resource contention, or issues in the broker's topic loading logic. It is a known issue and has been discussed and fixed in later versions, with improvements to resource cleanup and error handling during topic load timeouts. Upgrading to a newer Pulsar version is recommended, as early 3.0.x releases had several related bugs that have since been addressed (source, source). Would you like more detail on troubleshooting or configuration options to mitigate this in 3.0.6? Sources: - https://github.com/apache/pulsar/issues/19269 - https://github.com/apache/pulsar/pull/22860 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.
s
@RunLLM yes
r
To troubleshoot and mitigate this issue in Pulsar 3.0.6: 1. Check Broker Logs: Look for errors or warnings around the time of the timeout to identify if deduplication, managed ledger, or resource contention is causing delays (source). 2. Increase Timeout: You can increase the topic load timeout by setting
topicLoadTimeoutSeconds
in the broker configuration to a higher value, giving the broker more time to load topics (source). 3. Resource Tuning: Ensure the broker has sufficient CPU, memory, and BookKeeper resources, as slow disk or network can delay topic initialization. 4. Upgrade Recommendation: Many topic load timeout and cleanup bugs were fixed in later 3.0.x and 3.1.x releases. Upgrading is strongly recommended (source, source). 5. Deduplication Backlog: If deduplication is enabled, a large backlog can cause slow topic loads. See this fix for details and consider reducing backlog or disabling deduplication if not needed. If you need step-by-step instructions for any of these actions, let me know. Sources: - https://github.com/apache/pulsar/issues/19269 - https://github.com/apache/pulsar/pull/22860 - https://github.com/apache/pulsar/pull/22479 - https://github.com/apache/pulsar/blob/master/pulsar-broker/src/test/java/org/apache/pulsar/client/api/OrphanPersistentTopicTest.java 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.
s
@RunLLM how to configure
topicLoadTimeoutSeconds
r
Set
topicLoadTimeoutSeconds
in your Pulsar broker configuration file (
broker.conf
). For example, add or update the line:
Copy code
topicLoadTimeoutSeconds=60
This sets the topic load timeout to 60 seconds. Restart the broker for the change to take effect (source). Would you like more detail on best practices or dynamic changes? Sources: - https://github.com/apache/pulsar/blob/master/pulsar-broker/src/test/java/org/apache/pulsar/broker/testcontext/PulsarTestContext.java 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.