Felipe Alfaro Solana created MESOS-9800:
-------------------------------------------
Summary: libarchive cannot extract tarfile due to UTF-8 encoding
issues
Key: MESOS-9800
URL: https://issues.apache.org/jira/browse/MESOS-9800
Project: Mesos
Issue Type: Bug
Components: fetcher
Affects Versions: 1.7.2
Environment: Mesos 1.7.2 and Marathon 1.4.3 running on top of Ubuntu
16.04.
Reporter: Felipe Alfaro Solana
Starting with Mesos 1.7, the following change has been introduced:
* [MESOS-8064] - Mesos now requires libarchive to programmatically decode
.zip, .tar, .gzip, and other common file compression schemes. Version 3.3.2 is
bundled in Mesos.
However, this version of libarchive which is used by the fetcher component in
Mesos has problems in dealing with archive files (.tar and .zip) which contain
UTF-8 characters. We run Marahton on top of Mesos, and one of our Marathon
application relies on a .tar file which contains symlinks whose target contains
certain UTF-8 characters (Turkish) or the symlink name itself contains UTF-8
characters. Mesos fetcher is unable to extract the archive and fails with the
following error:
{{May 28 10:47:30 t01m01.node.t01.dns.teralytics.net mesos-slave[4319]: E0528
10:47:30.791250 6136 fetcher.cpp:613] EXIT with status 1: Failed to fetch
'/tmp/certificates.tar.gz': Failed to extract archive
'/var/mesos/slaves/10c35371-f690-4d40-8b9e-30ffd04405fb-S6/frameworks/ff2993eb-987f-47b0-b3af-fb8b49ab0470-0000/executors/test-nginx.fe01a0c0-8135-11e9-a160-02427a38aa03/runs/6a6e87e8-5eef-4e8e-8c00-3f081fa187b0/certificates.tar.gz'
to
'/var/mesos/slaves/10c35371-f690-4d40-8b9e-30ffd04405fb-S6/frameworks/ff2993eb-987f-47b0-b3af-fb8b49ab0470-0000/executors/test-nginx.fe01a0c0-8135-11e9-a160-02427a38aa03/runs/6a6e87e8-5eef-4e8e-8c00-3f081fa187b0':
Failed to read archive header: Linkname can't be converted from UTF-8 to
current locale.}}
{{May 28 10:47:30 t01m01.node.t01.dns.teralytics.net mesos-slave[4319]:}}
{{May 28 10:47:30 t01m01.node.t01.dns.teralytics.net mesos-slave[4319]: End
fetcher log for container 6a6e87e8-5eef-4e8e-8c00-3f081fa187b0}}
{{May 28 10:47:30 t01m01.node.t01.dns.teralytics.net mesos-slave[4319]: E0528
10:47:30.846695 4343 fetcher.cpp:571] Failed to run mesos-fetcher: Failed to
fetch all URIs for container '6a6e87e8-5eef-4e8e-8c00-3f081fa187b0': exited
with status 1}}
The same Marathon application works fine with Mesos 1.6 which does not use
libarchive.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)