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

Docker executor doesn't wait for status updates to be ack'd before shutting down.

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Containerization: RI-16 Sp 50, Studio 1: RI-23 64, Studio 1: RI-24 65
    • 5

    Description

      The docker executor doesn't wait for pending status updates to be acknowledged before shutting down, instead it sleeps for one second and then terminates:

        void _stop()
        {
          // A hack for now ... but we need to wait until the status update
          // is sent to the slave before we shut ourselves down.
          // TODO(tnachen): Remove this hack and also the same hack in the
          // command executor when we have the new HTTP APIs to wait until
          // an ack.
          os::sleep(Seconds(1));
          driver.get()->stop();
        }
      

      This would result in racing between task status update (e.g. TASK_FINISHED) and executor exit. The latter would lead agent generating a `TASK_FAILED` status update by itself, leading to the confusing case where the agent handles two different terminal status updates.

      Attachments

        Issue Links

        Activity

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

          People

            abudnik Andrei Budnik
            mzhu Meng Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Agile

                Completed Sprints:
                Containerization: RI-16 Sp 50 ended 18/Jul/19
                Studio 1: RI-23 64 ended 29/Jan/20
                Studio 1: RI-24 65 ended 12/Feb/20
                View on Board

                Slack

                  Issue deployment