Bug #21379
closedarv-user-activity crashes on file_download event for remote collection
Description
User activity on pirca between 2024-01-11 05:00 and 2024-01-12 05:00
Traceback (most recent call last):
File "/usr/bin/arv-user-activity", line 8, in <module>
sys.exit(main())
File "/usr/share/python3/dist/python3-arvados-user-activity/lib/python3.7/site-packages/arvados_user_activity/main.py", line 214, in main
getCollectionName(arv, e["properties"].get("collection_uuid"), e["properties"].get("portable_data_hash")),
File "/usr/share/python3/dist/python3-arvados-user-activity/lib/python3.7/site-packages/arvados_user_activity/main.py", line 111, in getCollectionName
u = arv.collections().list(filters=filters, order="created_at", limit=1).execute().get("items")
File "/usr/share/python3/dist/python3-arvados-user-activity/lib/python3.7/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/share/python3/dist/python3-arvados-user-activity/lib/python3.7/site-packages/googleapiclient/http.py", line 938, in execute
raise HttpError(resp, content, uri=self.uri)
arvados.errors.ApiError: <HttpError 400 when requesting https://pirca.arvadosapi.com/arvados/v1/collections?filters=%5B%5B%22uuid%22%2C+%22%3D%22%2C+%22tordo-4zz18-kaaj8hjcnqb8i0p%22%5D%5D&order=created_at&limit=1&alt=json returned "cannot execute federated list query unless count=="none"">
User activity on tordo between 2024-01-11 19:33 and 2024-01-12 19:33
Traceback (most recent call last):
File "/tmp/venv/bin/arv-user-activity", line 8, in <module>
sys.exit(main())
File "/tmp/venv/lib/python3.9/site-packages/arvados_user_activity/main.py", line 214, in main
getCollectionName(arv, e["properties"].get("collection_uuid"), e["properties"].get("portable_data_hash")),
File "/tmp/venv/lib/python3.9/site-packages/arvados_user_activity/main.py", line 111, in getCollectionName
u = arv.collections().list(filters=filters, order="created_at", limit=1, count="none").execute().get("items")
File "/tmp/venv/lib/python3.9/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/tmp/venv/lib/python3.9/site-packages/googleapiclient/http.py", line 938, in execute
raise HttpError(resp, content, uri=self.uri)
arvados.errors.ApiError: <HttpError 400 when requesting https://tordo.arvadosapi.com/arvados/v1/collections?filters=%5B%5B%22uuid%22%2C+%22%3D%22%2C+%22pirca-4zz18-tsiyvmfkr2gub8w%22%5D%5D&order=created_at&limit=1&count=none&alt=json returned "cannot execute federated list query with limit (1) < nUUIDs (1), offset (0) > 0, or order ([created_at]) parameter">
Updated by Tom Clegg about 2 years ago
21379-user-activity-remote-collection @ b9df494b629cfc4f79e7aa7951dcd5b5608eda9d
Successfully tested manually on tordo using the same range as the 2nd failure example above.
Updated by Peter Amstutz about 2 years ago
The code look fine but this commit message has me scratching my head:
* cannot execute federated list query with limit (1) < nUUIDs (1), offset (0) > 0, or order ([created_at]) parameter
Is this saying "cannot execute federated list query with ... order ([created_at]) parameter" but then adds order = "created_at" to the code for the pdh lookup case?
Updated by Tom Clegg about 2 years ago
Peter Amstutz wrote in #note-2:
Is this saying "cannot execute federated list query with ... order ([created_at]) parameter" but then adds
order = "created_at"to the code for the pdh lookup case?
Previously we had order="created_at" for both pdh and uuid lookup cases.
Now we have order="created_at" only for the pdh case, but not the uuid case, because the uuid case becomes a federated list query when the uuid indicates a remote cluster.
Updated by Tom Clegg about 2 years ago
- Status changed from In Progress to Resolved
Applied in changeset arvados|5a950ae4a1a50f9221c0431b97fba6387d9a976c.