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 1 year 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 1 year 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 1 year 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 1 year ago
- Status changed from In Progress to Resolved
Applied in changeset arvados|5a950ae4a1a50f9221c0431b97fba6387d9a976c.