-
Bug
-
Resolution: Done
-
Major
-
15.0.0.Final
-
None
The GracefulShutdownRestartIT sometimes fails after restart because one of the caches does not join again.
After the restart, the configuration is loaded from the persisted configuration, issuing a putIfAbsent to insert the configuration into the CONFIG cache, and as a side-effect, the GlobalConfigurationStateListener receives a notification and adds the configuration locally, and the cache is started and issues a join request to the cluster. Later, when the client retrieves the cache, it uses the local configuration.
But in the test, sometimes the putIfAbset operation fails since the entry already exists in the CONFIG cache (another node added it). Then the listener does not receive the notification, then the cache is not started, and the local configuration is not created. After, when the client retrieves the cache, it fails as it does not find the local configuration.