Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-101458

[v6.0] throw uassert, when a change stream opened with pre-/post-image "whenAvailable" with 6.0 FCV issues getMore on 5.0 FCV

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: 6.0.20
    • Component/s: Change streams
    • None
    • Query Execution
    • ALL
    • QE 2025-03-03, QE 2025-03-17, QE 2025-03-31, QE 2025-04-14
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The error should be reproducible by the following steps:

      • Customer is on 6.0 FCV and opens a change stream with the new option for the fullDocument (post-image) with the kWhenAvailable value
      • Customer runs the change stream with the new flag, but later decides to downgrade the FCV, making the new feature no longer available for the currently running change streams
      • Customer continues to run the previously opened change stream and issues getMore. When processing the post-image we expect the current feature flag value to be true and throw the tassert() as it is disabled

       

      There are two options on how we can fix this issue:

      • replace tassert with a uassert, stating that user has a change stream opened with a 6.0 configuration, but is running on 5.0 FCV
      • strive to keep the server robust and do not fail if there is no particular need to. Namely if the change stream is opened with whenAvailable options, then do not fail the server, but rather make pre-/post-images unavailable.

            Assignee:
            denis.grebennicov@mongodb.com Denis Grebennicov
            Reporter:
            denis.grebennicov@mongodb.com Denis Grebennicov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              None
              None
              None
              None