Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
2.5
-
None
Description
FileArchiver
final SegmentArchiveResult res = archiveSegment(toArchive); synchronized (this) { while (locked.containsKey(toArchive) && !stopped) wait(); } // Firstly, format working file if (!stopped) formatFile(res.getOrigWorkFile()); synchronized (this) { // Then increase counter to allow rollover on clean working file changeLastArchivedIndexAndNotifyWaiters(toArchive); notifyAll(); }
Some thread may try read segments when archive formating file in work dir (formatFile not synchronized), last archived index is still not updated.
Attachments
Issue Links
- links to