diff options
author | Eric Eastwood <eric.eastwood@beta.gouv.fr> | 2024-06-13 11:32:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-13 11:32:50 -0500 |
commit | 8c58eb7f17bdc697e653c7920edab42ee36f975b (patch) | |
tree | 1bbaa63d7ef1d7dcc11ae57bec89b2246a8369ee /rust/src | |
parent | Fix `get_last_event_in_room_before_stream_ordering(...)` finding the wrong la... (diff) | |
download | synapse-8c58eb7f17bdc697e653c7920edab42ee36f975b.tar.xz |
Add `event.internal_metadata.instance_name` (#17300)
Add `event.internal_metadata.instance_name` (the worker instance that persisted the event) to go alongside the existing `event.internal_metadata.stream_ordering`. `instance_name` is useful to properly compare and query for events with a token since you need to compare both the `stream_ordering` and `instance_name` against the vector clock/`instance_map` in the `RoomStreamToken`. This is pre-requisite work and may be used in https://github.com/element-hq/synapse/pull/17293 Adding `event.internal_metadata.instance_name` was first mentioned in the initial Sliding Sync PR while pairing with @erikjohnston, see https://github.com/element-hq/synapse/pull/17187/commits/09609cb0dbca3a4cfd9fbf90cc962e765ec469c0#diff-5cd773fb307aa754bd3948871ba118b1ef0303f4d72d42a2d21e38242bf4e096R405-R410
Diffstat (limited to 'rust/src')
-rw-r--r-- | rust/src/events/internal_metadata.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/rust/src/events/internal_metadata.rs b/rust/src/events/internal_metadata.rs index 63774fbd54..ad87825f16 100644 --- a/rust/src/events/internal_metadata.rs +++ b/rust/src/events/internal_metadata.rs @@ -204,6 +204,8 @@ pub struct EventInternalMetadata { /// The stream ordering of this event. None, until it has been persisted. #[pyo3(get, set)] stream_ordering: Option<NonZeroI64>, + #[pyo3(get, set)] + instance_name: Option<String>, /// whether this event is an outlier (ie, whether we have the state at that /// point in the DAG) @@ -232,6 +234,7 @@ impl EventInternalMetadata { Ok(EventInternalMetadata { data, stream_ordering: None, + instance_name: None, outlier: false, }) } |