• Type: Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.9.0
    • Affects Version/s: None
    • Component/s: None
    • 0
    • Not Needed
    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Use Case

      As a Node.js engineer
      I want improve the performance of cursor iteration
      So that we remain in line with the baseline performance

      User Experience

      • No changes to performance

      Dependencies

      • None

      Risks/Unknowns

      • What could go wrong while implementing this change? (e.g., performance, inadvertent behavioral changes in adjacent functionality, existing tech debt, etc)
        • potential for more BSON option related bugs, ideally testing coverage should prevent this.
        • performance should improve, testing should confirm this
      • Is there an opportunity for better cross-driver alignment or testing in this area?
        • No
      • Is there an opportunity to improve existing documentation on this subject?
        • Yes, internal API docs can assist maintainers in understanding how to handle BSON options. Esp with cursors because of their lazy decoding

      Acceptance Criteria

      Implementation Requirements

      • when shift is called, store the BSON options on the CursorResponse instance
      • reuse the stored bson options for every subsequent decoding

      Testing Requirements

      • Ensure bson options are stored and used again without rebuilding them on every shift call

      Documentation Requirements

      • None, other than helpful inline comments

      Follow Up Requirements

      • Replicate changes to 6.8 backport

            Assignee:
            bailey.pearson@mongodb.com Bailey Pearson
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: