Details
-
Bug
-
Resolution: Done
-
Major
-
12.1.0.Final
-
None
Description
The state transfer timeout attribute doesn't have any validation: even 0 is a valid value, even though caches with a 0 timeout will be unable to start.
To make matters worse, Wildfly has unified the timeout and await-initial-transfer attributes: timeout="0" means await-initial-transfer is disabled and timeout is infinite. Wildfly has better visibility, so users may see the Wildfly configuration documentation first and assume it applies to vanilla Infinispan.
To prevent accidents, StateTransferConfigurationBuilder should validate that the state transfer timeout is at least as large as remote-timeout.
We should also consider using state transfer timeout only for the initial transfer wait, merged with await-initial-transfer like in Wildfly, and using remote-timeout in other places that use the state transfer timeout now.