Bug #21304
closedredundant user update events
Description
I'm logged in to tordo.
I'm using arv-ws
to monitor activity.
I am looking at my home project.
Every time I hit "refresh" it logs an event:
{"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930953, "msgID": 32, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-csqflceqgj0rowg"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930957, "msgID": 33, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-574o6hc2pqeqsvy"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930960, "msgID": 34, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-l7ohcjnh6mbesuh"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930961, "msgID": 35, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-48knd97dz7gibap"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930962, "msgID": 36, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-9li0n7znw527d3t"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930963, "msgID": 37, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-b6x7xnub8ode1xe"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930964, "msgID": 38, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-e6gkmtrd1pu3f32"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930967, "msgID": 39, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-gwh7coh0kt18k3q"} {"event_at": "2023-11-28T14:56:44.006768Z", "event_type": "update", "id": 72930981, "msgID": 40, "object_kind": "arvados#user", "object_owner_uuid": "tordo-tpzed-000000000000000", "object_uuid": "jutro-tpzed-000000000000000", "properties": {"new_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}, "old_attributes": {"owner_uuid": "tordo-tpzed-000000000000000"}}, "uuid": "tordo-57u5n-h7bgy3uhpdta95d"}
This is undesirable because read-only operations shouldn't leave a database footprint.
It looks like this is an issue with federated users. It happens on both tordo and pirca, but when I monitor events on jutro, I don't see the same events.
Updated by Peter Amstutz 10 months ago
- Target version changed from Development 2024-01-17 sprint to Development 2024-01-31 sprint
Updated by Peter Amstutz 10 months ago
This seems to specifically involve the remote system user that owns the remote user.
I haven't been able to track down what is triggering this yet.
Updated by Peter Amstutz 10 months ago
- Target version changed from Development 2024-01-31 sprint to Development 2024-02-14 sprint
Updated by Peter Amstutz 10 months ago
21304-user-update @ 9f487917d8c2aa3958473dd1c11dc584485c1229
- All agreed upon points are implemented / addressed.
- yes
- Anything not implemented (discovered or discussed during work) has a follow-up story.
- n/a
- Code is tested and passing, both automated and manual, what manual testing was done is described
- IntegrationSuite.TestSetupUserWithVM is failing, not sure how this change caused that, need look into it
- Documentation has been updated.
- n/a
- Behaves appropriately at the intended scale (describe intended scale).
- avoids producing database activity and websockets events when nothing has actually changed
- Considered backwards and forwards compatibility issues between client and server.
- n/a
- Follows our coding standards and GUI style guidelines.
- yes
It turned out the reason it was generating updates despite nothing changing was that the set_initial_username
method can return nil, which resulted in needupdate.length > 0
being true even though nothing was going to change.
Updated by Peter Amstutz 10 months ago
Updated by Peter Amstutz 10 months ago
Tom Clegg wrote in #note-11:
LGTM, thanks.
Ideally we could reproduce/check this in tests -- did that turn out to be too awkward?
To be honest I just didn't think of it. Let me see what I can do.
Updated by Peter Amstutz 10 months ago
Peter Amstutz wrote in #note-12:
Tom Clegg wrote in #note-11:
LGTM, thanks.
Ideally we could reproduce/check this in tests -- did that turn out to be too awkward?
To be honest I just didn't think of it. Let me see what I can do.
Added a test. Checked that it failed on main and passed on this branch. Will merge.
Updated by Peter Amstutz 10 months ago
- Status changed from In Progress to Resolved