Project

General

Profile

Bug #18316

Updated by Peter Amstutz over 2 years ago

De-identified customer backtrace: 

 2021-11-01 15:22:50 arvados.arvados_fuse[127303] 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. 

Back