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.

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

    Details

    • Sprint:
      Containerization: RI-16 Sp 50, Studio 1: RI-23 64, Studio 1: RI-24 65
    • Story Points:
      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

            People

            • Assignee:
              abudnik Andrei Budnik
              Reporter:
              mzhu Meng Zhu

              Dates

              • Created:
                Updated:
                Resolved:

                Agile

                  Issue deployment