zhao bo created YARN-10041:
------------------------------
Summary: Should not use AbstractPath to create unix domain socket
Key: YARN-10041
URL: https://issues.apache.org/jira/browse/YARN-10041
Project: Hadoop YARN
Issue Type: Bug
Components: client
Environment: X86/ARM
OS: ubuntu 1804
java: java8
Reporter: zhao bo
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]
[2]
[https://github.com/apache/hadoop/blob/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java#L48]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]