Description
The AMQPSessionCallback retains a map of AddressQueryResult instances for previous address checks. This map is not updated if the state of broker addresses changes, neither addresses added, removed or updated states are reflected in the cache. This leads to issues for long running sessions where a link attach may fail for a non-existent address and on a later attempt should succeed if the address was added but can't because the cache will still hold the non-exists query result. Other scenarios are possible such as an address removed and re-added with different routing type but the former case is more serious.
The cache should be removed and if a similar optimization is actually found to be needed a better mechanism should be chosen to avoid the issues found.
Attachments
Issue Links
- links to