StageAndExecute downloads content to a temporary area, there can be a problem with large content (e.g. GB in size) on non-Windows platforms if the default temporary directory, usually
/tmp, is in a filesystem that is not big enough. For example, on a Fedora system with 80 GB of disc, a default allocation for the
tmpfs filesystem which houses
/tmp is only 500 MB. If this problem occurs, you will see an error like this in the Tachyon agent log:
INFO - Downloading "<remote_URL>" to file "/tmp/tachyon<aaaaaa>/<local_file>"
ERROR - Error while trying to write to "/tmp/tachyon<aaaaaa>/<local_file>": (28) No space left on device
The selection order for temporary file and directory locations on non-Windows platforms is as follows:
- Environment variable
TMPDIR, if set
- The standard Linux/Unix location defined by
The Tachyon agent selects the first of these that is an existing directory.
Hence, if the error occurs (typically with a
/tmp that is too small), environment variable
TMPDIR can be set to
/var/tmp, for example, which is usually on a filesystem with much more space assigned to it. However, since the agent runs as root daemon/service, it is not recommended to make any changes that would affect all root actions. Instead, change the way the daemon runs as follows. This describes Linux systems that run daemons using the systemd subsystem. As usual, use
sudo commands to perform these actions.
First, after installation of the Tachyon Agent, edit
tachyon.agent.service to add this line in the
(or specify some other suitable directory for large temporary files).
Then run these commands to pick up the change and restart the Tachyon agent:
systemctl restart tachyon.agent.service