Bug #14900
closed
[arv-put] when reusing a local cache, arv-put does not check if the blocks exist and blindly creates the collection
Added by Ward Vandewege about 6 years ago.
Updated almost 6 years ago.
Estimated time:
(Total: 0.00 h)
Release relationship:
Auto
Description
What I ran into today:
1) create an ephemeral arvados cluster with our kubernetes prototype
2) arv-put a file to it from my local system. Arv-put creates a local cache directory in .cache/arvados/arv-put/
3) blow away the arvados cluster, and re-create it
4) re-run the arv-put command from my local system:
$ arv-put 4xphq-8i9sb-fmwod1qn74cemdp.log.txt
2019-02-27 22:05:07 arvados.arv_put[103627] INFO: Resuming upload from cache file /home/wvandewege/.cache/arvados/arv-put/0a16eb3c98df444230504d71edb7d7c1
0M / 0M 100.0% 2019-02-27 22:05:07 arvados.arv_put[103627] INFO:
2019-02-27 22:05:07 arvados.arv_put[103627] INFO: Collection saved as 'Saved at 2019-02-27 22:05:07 UTC by wvandewege@shell.qr1hi.arvadosapi.com'
vwxyz-4zz18-v5p53u2m8rdl17i
Arv-put happily creates the collection without checking the blocks. The blocks don't exist.
Workaround: blow away cache directory and re-run the arv-put command.
While this scenario is unusual today, we are going to a future with more ephemeral arvados installations, and this will become a more common occurrence.
Proposed solution: arv-put should double check that (some of? all of?) the blocks exist before creating a collection from a local cache.
- Status changed from New to In Progress
- Description updated (diff)
- Status changed from In Progress to New
- Target version set to 2019-03-27 Sprint
- Assigned To set to Lucas Di Pentima
This seems to supposedly have being addressed on #14012, so maybe it's a regression?
- Related to Bug #14012: arv-put does not check cached signatures when resuming added
- Status changed from New to In Progress
After doing some tests on my own, didn't realized that I was using an old arv-put
while bumping into the same issue described here.
Created a virtualenv from scratch and tried the latest arv-put
:
(venv-arvados) lucas@veritas:~/arvados_local$ arv-put ../arvados/doc/.site/
2019-03-15 10:13:16 arvados.arv_put[23840] INFO: Calculating upload size, this could take some time...
2019-03-15 10:13:16 arvados.arv_put[23840] INFO: Resuming upload from cache file /home/lucas/.cache/arvados/arv-put/490dd3db31b4f11bf084de9b6711cca3
2019-03-15 10:13:20 arvados.arv_put[23840] ERROR: arv-put: Resume cache contains invalid signature: it may have expired
or been created with another Arvados user's credentials.
Switch user or use one of the following options to restart upload:
--no-resume to start a new resume cache.
--no-cache to disable resume cache. (X-Request-Id: req-g0lnb1xfvj6262dbzjx9)
(venv-arvados) lucas@veritas:~/arvados_local$ arv-put --version
/home/lucas/venv-arvados/bin/arv-put 1.3.1.20190308210512
- Status changed from In Progress to Closed
Ticket closed as the current arv-put
version already has a fix for this issue.
Also available in: Atom
PDF