Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: 3.1.2, 3.2.0
-
Fix Version/s: 3.2.1
-
Component/s: Core: Configuration
-
Labels:None
-
User impact:High
-
Similar Issues:None
Description
In the ApplicationAwareRepositorySelector implementation, part of the logic checks to see if a LoggerRepository instance is already associated with the current thread. If there is no instance currently associated, one is created, configured, and then added via a putIfAbsent. This can create an infinite loop if the logging configuration references itself during setup because the reference is not yet in the map; if the same thread re-enters the method, it will not find the in-progress configured LoggerRepository, etc., etc.
The fix is to ensure that the LoggerRepository instance is added to the map before configureFrom(...) is called.
Patch against 3.1.2