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

Include in the DefaultExecutor logs the output of timed out checks

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments



      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.


        Issue Links


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


            Unassigned Unassigned
            gkleiman Gastón Kleiman




                Issue deployment