Description
Using the ResolveTask on the same metadata file from multiple repositories creates a race condition on resolver-status.properties because no worker thread is holding a lock on that file while the parent (waiting) thread holds a lock on the metadata item only.
We don't want to introduce any synchronization in the tracking file manager because it is almost always called from within a synchronized context. Instead we are inlining (moving) the pre-/post-processing of metadata into the caller thread and will leave the sole download (safe) handling ot the ResolveTask.
Attachments
Issue Links
- fixes
-
MRESOLVER-153 resolver-status.properties file is corrupted due to concurrent writes
- Closed
- is related to
-
MRESOLVER-132 Remove synchronization in TrackingFileManager
- Closed
- is required by
-
MRESOLVER-153 resolver-status.properties file is corrupted due to concurrent writes
- Closed
- relates to
-
MRESOLVER-216 [ERROR] Malformed \uxxxx encoding.
- Open