-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:None
Description
Description:
Previously, single-collection change streams inherited the default collation of the collection on which they were opened. This makes little sense, given that we are not actually querying documents from that collection; a so-called single-collection change stream is just a filter on the oplog for that namespace. This behaviour unintuitively restricts the client's ability to resume the stream, and is inconsistent with the semantics of whole-db and whole-cluster streams - both of which always use the simple collation unless explicitly provided with an alternative.
To ensure stability with respect to the change stream's collation, and to guarantee that we can resume the stream in all circumstances, this ticket changes the behaviour of single-namespace streams to be consistent with whole-db and whole-cluster streams. All change streams will now use the simple collation unless a different collation is explicitly provided with the request when opening the stream.
Engineering Ticket Description:
Currently, single-namespace change streams inherit the default collation of the collection for which they are filtering. This makes little sense, given that we are not actually querying documents from that collection; a so-called single-namespace change stream is, in reality, simply a filter on the oplog for that namespace. The current behaviour unintuitively restricts the client's ability to resume the stream, and is inconsistent with the semantics of whole-db and whole-cluster streams - both of which always use the simple collation unless explicitly provided with an alternative.
To ensure stability with respect to the change stream's collation, and to guarantee that we can resume the stream in all circumstances, we should change the behaviour of single-namespace streams to be consistent with whole-db and whole-cluster streams.
Scope of changes
Impact to Other Docs
MVP (Work and Date)
Resources (Scope or Design Docs, Invision, etc.)
- documents
-
SERVER-39302 Change streams should always use the simple collation when no explicit collation is provided
- Closed