Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-12540

Docs for SERVER-39302: Change streams should always use the simple collation when no explicit collation is provided

      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.)

            Assignee:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Reporter:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              4 years, 48 weeks, 2 days ago