-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
None
-
2022 Week 32-34 (from Aug 8)
-
3
-
-
NEW
-
NEW
ScoreDirectors created from the same SolverFactory share a SolutionDescriptor instance, which builds a map of member accessors (generatedMemberAccessorMap).
Thus, the same LinkedHashMap is being accessed (both for reading and writing) by multiple threads.
The generatedMemberAccessorMap is referred to from many places and even created outside the SolutionDescriptor.
Proposals:
A) Make SolutionDescriptor immutable; at least in respect of the generatedMemberAccessorMap, which would be fully initialized before its first use.
B) Create a wrapper around the generatedMemberAccessorMap instance and lock it with a ReadWrite lock.