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

Docker volume isolator needs to clean up the `info` struct regardless the result of unmount operation

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      Currently when DockerVolumeIsolatorProcess::cleanup() is called, we will unmount the volume first, but if the unmount operation fails we will not remove the container's checkpoint directory and NOT erase the container's `info` struct from `infos`. This is problematic, because the remaining `info` in the `infos` will cause the reference count of the volume is larger than 0, but actually the volume is not being used by any containers. And next time when another container using this volume is destroyed, we will NOT unmount the volume since its reference count will be larger than 1 (see here for details) which should be 2, so we will never have chance to unmount this volume.

      We have this issue since Mesos 1.0.0 release when Docker volume isolator was introduced.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            qianzhang Qian Zhang
            qianzhang Qian Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Agile

                Active Sprint:
                Studio 1: RI-23 68 ends 25/Mar/20
                View on Board

                Slack

                  Issue deployment