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

Include in the DefaultExecutor logs the output of timed out checks

    XMLWordPrintableJSON

Details

    Description

      Once the patches for https://issues.apache.org/jira/browse/MESOS-7861 land, the output of successful and failed checks will be included in the DefaultExecutor logs, but the output of timed out checks won't be included.

      Right now the checker process sends the LAUNCH_NESTED_CONTAINER_SESSION requests using streamed=false. Libprocess will then convert the streaming response into a body (non-streamed) response, completing the future returned by Connection::send() only once the request has been fully received. The checker will then read the whole process output from the response's body and log it.

      However when a check times out, the checker will close the connection before the full response is received. So the future returned by Connection::send() will be failed, and the checker won't have access to the response.

      In order to log the output of timed out checks, we will probably need to make the checker send the launch request with streamed=true, and then make it read the check output from the pipe of the streamed response.

      If we do that, we should probably turn the Future<tuple<string, string>> getProcessIOData(...) method from api_tests.cpp into a helper method and use it in checker_process.cpp.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gkleiman Gastón Kleiman
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: