Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.17.0
-
None
-
None
Description
Inside Replica::persist(const Action& action), we update the in-memory 'holes' data structure
// Update holes if we just wrote many positions past the last end.
for (uint64_t position = end + 1; position < action.position(); position++)
During catch-up (starts with an empty log), if the 'position' is very large, we may spend a lot of time in this loop. Also, the data structure 'holes' might become extremely large.
Attachments
Issue Links
- relates to
-
MESOS-736 Support catch-up replicated log
- Resolved
-
MESOS-1004 Provide IntervalSet abstraction for more compact representation of set
- Resolved