[ 
https://issues.apache.org/jira/browse/IMPALA-7913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16715793#comment-16715793
 ] 

ASF subversion and git services commented on IMPALA-7913:
---------------------------------------------------------

Commit 12ce20b09db77f36dae7110271b8377d5c32be8f in impala's branch 
refs/heads/master from [~laszlog]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=12ce20b ]

IMPALA-7913: Separate ccache TEMP directories by Docker container

ccache v3.1 (the default version for CentOS 6) has a problem when
multiple copies are run inside concurrent Docker containers: it
can get confused when creating/using temporary files. Version 3.2
and later are free of this problem, see:
https://ccache.samba.narkive.com/o4BSOjxG/shared-ccache-directory-between-docker-containers

This patch points each copy of ccache to a separate, private temporary
directory by passing an explicit CCACHE_TEMPDIR environment variable
to each launched container.

Verified by looking into each running container using
"docker exec -it .... /bin/bash", checking the value of CCACHE_TEMPDIR
and observing tempfile traffic within the directory.

Change-Id: I8e6f1e31ca9419224a2a73a3e5ff46b004bb10c6
Reviewed-on: http://gerrit.cloudera.org:8080/12030
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> test-with-docker can sometimes fail with a ccache fatal error when using 
> CentOS 6 within the containers
> -------------------------------------------------------------------------------------------------------
>
>                 Key: IMPALA-7913
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7913
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Infrastructure
>    Affects Versions: Impala 3.1.0
>         Environment: test-with-docker
>            Reporter: Laszlo Gaal
>            Assignee: Laszlo Gaal
>            Priority: Major
>
> When using docker/test-with-docker.py, Impala builds only the core Impala 
> binaries in the "build" phase/container. Test and benchmark executables are 
> built in later phases in the various test containers. These latter builds are 
> executed in parallel in the context of concurrently running containers. These 
> containers separate the running processes, but they share a common ccache 
> directory for efficiency's sake; this directory is managed by the ccache 
> processes running inside the containers.
> Recently I have seen multiple ccache failures in this phase, when the 
> containers are hosting centos6 (test-with-docker.py launched with 
> --base-image=centos:6). The failures usually look like this:
> {code:java}
> 2018-11-27 04:59:52.826775 [ 23%] Building CXX object 
> be/generated-sources/gen-cpp/CMakeFiles/ImpalaThrift.dir/RuntimeProfile_constants.cpp.o
> 2018-11-27 04:59:52.933599 [ 23%] Building CXX object 
> be/generated-sources/gen-cpp/CMakeFiles/ImpalaThrift.dir/RuntimeProfile_types.cpp.o
> 2018-11-27 04:59:53.041421 [ 23%] Building CXX object 
> be/generated-sources/gen-cpp/CMakeFiles/ImpalaThrift.dir/StatestoreService.cpp.o
> 2018-11-27 04:59:53.169103 [ 23%] Building CXX object 
> be/generated-sources/gen-cpp/CMakeFiles/ImpalaThrift.dir/StatestoreService_constants.cpp.o
> 2018-11-27 04:59:53.544171 [ 23%] Building CXX object 
> be/generated-sources/gen-cpp/CMakeFiles/ImpalaThrift.dir/StatestoreService_types.cpp.o
> 2018-11-27 04:59:53.576886 [ 23%] Building CXX object 
> be/generated-sources/gen-cpp/CMakeFiles/ImpalaThrift.dir/StatestoreSubscriber.cpp.o
> 2018-11-27 04:59:53.946981 ccache: FATAL: Failed to open 
> /home/impdev/.ccache/tmp/tmp.cpp_stderr.i-20181127-033918.7545: No such file 
> or directory
> 2018-11-27 04:59:53.947712 make[3]: *** 
> [be/generated-sources/gen-cpp/CMakeFiles/ImpalaThrift.dir/RuntimeProfile_constants.cpp.o]
>  Error 1
> {code}
> The issue seems to be caused by the cache being shared across containers, and 
> running an older ccache version under CentOS 6:  
> [https://ccache.samba.narkive.com/o4BSOjxG/shared-ccache-directory-between-docker-containers]
>  claims that ccache v3.1 (the one CentOS 6 pulls from EPEL by default) has a 
> problem generating unique filenames for its temporary files.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to