Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-993

Performance issue during replicated log catch-up when the initial log position is large

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.17.0
    • Fix Version/s: 0.17.0
    • Component/s: None
    • Labels:
      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++)

      { holes.insert(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

            Activity

              People

              • Assignee:
                jieyu Jie Yu
                Reporter:
                jieyu Jie Yu
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: