Affects Version/s: None
Fix Version/s: 3.3.0
Following up on findings in
YARN-8962, I noticed the following issues in container-executor and main.c:
- There seem to be some vars that are not cleaned up in container_executor:
In run_docker else: free docker_binary
before return INVALID_COMMAND_FILE: free docker_binary
3x return DOCKER_EXEC_FAILED: set exit code and goto cleanup instead
cleanup needed before exit calls?
YARN-8777we added several fprintf(stderr calls, but the convention in container-executor.c appears to be fprintf(ERRORFILE followed by fflush(ERRORFILE).
- There are leaks in TestDockerUtil_test_add_ports_mapping_to_command_Test.
- There are additional places where flush is not performed after writing to stderr, including main.c display_feature_disabled_message. This can result in the client not receiving the error message if the connection is closed too quickly.