Closed OS-tariqabbasi closed 11 months ago
pubsub timeout was extracted into a separate setting subscriptionTimeout
. For your case you need to set it 3*1500+30000=34500
pubsub timeout was extracted into a separate setting
subscriptionTimeout
. For your case you need to set it 3*1500+30000=34500
Added .setSubscriptionTimeout(34500)
to the test case above and it's still breaking sometimes.
Same error but sometimes it has 1ms instead now:
org.redisson.client.RedisTimeoutException: Unable to acquire subscription lock after 1ms. Try to increase 'subscriptionTimeout', 'subscriptionsPerConnection', 'subscriptionConnectionPoolSize' parameters.
what about 60000?
Also fails with 60,000 and the test is taking less than 1 second to run. Perhaps there is an incorrect unit conversion somewhere? Increasing the number of created maps makes it fail more often.
It's failing sometimes even with .setSubscriptionTimeout(Integer.MAX_VALUE)
and creating 16 maps, the increased timeout does seem to make this happen much less often with a small number of maps. Can be reproduced reliably with 64 maps. On 3.23.5 this test passes reliably with over 100 maps.
Fixed. Thanks for report
Expected behavior
No errors, same as with 3.23.5
Actual behavior
After upgrading to 3.24.1 my application is ocassionally throwing this error:
The application uses
RedissonLocalCachedMap
withSyncStrategy.NONE
. It doesn't override the default subscriptionTimeout.Steps to reproduce or test case
This code reproduces the bug most of the time with 3.24.1, never throws with 3.23.5:
Redis version
Observed with 7.0.9 cluster and single instance.
Redisson version
3.24.1
Redisson configuration
See code block above.