Project

General

Profile

Actions

Bug #18316

closed

arv-mount tries to save collection on file close even in read-only mode

Added by Peter Amstutz over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
FUSE
Target version:
Story points:
-
Release relationship:
Auto

Description

De-identified customer backtrace:

2021-11-01 15:22:50 arvados.arvados_fuse127303 ERROR: Error during finalize of inode 13
Traceback (most recent call last):
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/arvados_fuse/__init__.py", line 314, in clear
v.finalize()
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/arvados_fuse/fusedir.py", line 581, in finalize
self.collection.save()
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/arvados/arvfile.py", line 469, in must_be_writable_wrapper
return orig_func(self, *args, **kwargs)
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/arvados/arvfile.py", line 270, in synchronized_wrapper
return orig_func(self, *args, **kwargs)
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/arvados/retry.py", line 177, in num_retries_setter
return orig_func(self, *args, **kwargs)
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/arvados/collection.py", line 1626, in save
self._remember_api_response(self._my_api().collections().update(
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.8/site-packages/googleapiclient/http.py", line 915, in execute
raise HttpError(resp, content, uri=self.uri)
arvados.errors.ApiError: <HttpError 403 when requesting https://.....com/arvados/v1/collections/....-4zz18-.........?alt=json returned "request failed: http://localhost:8000/arvados/v1/collections/....-4zz18-...........: 403 Forbidden: Uuid ....-4zz18-.......... is not writable by ....-tpzed-......... (req-ixqstv61tuf3vnx21lwf)">

The token doesn't have write access, but it is trying to save the collection anyway. It shouldn't be trying to save the collection when it closes the file.

There seem to be 2 main bugs here:

  • Not tracking change operations, tries to saves the collection record on close every time even though nothing changed, which is unnecessary and incorrect
  • Arv-mount was started in read-only mode but flush() still tries to save the collection.

Subtasks 1 (0 open1 closed)

Task #18358: Review 18316-fuse-read-onlyResolvedPeter Amstutz11/12/2021Actions
Actions

Also available in: Atom PDF