Details
Description
This issue hits by a very coincidental scene. That 's happend when we test on ARM.
The test case is:
org.apache.hadoop.yarn.csi.client.TestCsiClient.testIdentityService
The step is:
If we make the hadoop source code dir to a very deep dir path, this case would be pass at the first time running, but always fail in the following tries.
The official jenkins doesn't cover this, because it runs on Docker container and just run test 1 time. So it looks like alway pass.
The key point is the UNIX domain socket path exceed the limit of UNIX_PATH_MAX(108). Please see [1]
This issue is very difficult to locate, as it will always return binding failed when we exec the test.
Also I saw the hadoop code in trunk branch, the code use the AbsolutePath to create the UNIX DOMAIN SOCKET file. The source code is [2]. So that can not forbid to hit this issue. That's good to provide a second way to set the socket path to '/tmp' or any place when exec this test.
[1] https://serverfault.com/questions/641347/check-if-a-path-exceeds-maximum-for-unix-domain-socket
Attachments
Issue Links
- links to