Details
-
Improvement
-
Status: Accepted
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
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
- is blocked by
-
MESOS-9945 Use streaming response in the checker process
- Accepted