Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
SystemDS 3.1
Description
Since some federated instructions do not wait for the worker's response, it happens that the worker iterates the LocalVariableMap, while another thread at the worker is already modifying (create/remove) the map for the next federated request, which leads to a ConcurrentModificationException.
An example for this situation can be found when executing the FederatedAlsCGTest. There, the method LocalVariableMap.hasReferences() iterates the HashMap (triggered by 'rmvar' instruction) while the thread from the next request is putting a new entry into the map.
Attachments
Issue Links
- links to
Commit a9943772cf28e82604dac88d340cae3e1e779569 in systemds's branch refs/heads/main from ywcb00
[ https://gitbox.apache.org/repos/asf?p=systemds.git;h=a9943772cf ]
SYSTEMDS-3396LocalVarMap Concurrency in Federated ExecutionChanges the local variable map back to a ConcurrentHashMap to allow
simultaneous modification and iteration of the map
Closes #1647