Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-6174

Performance regression from 6.5.0 to 6.6.2

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 6.8.0
    • Affects Version/s: None
    • Component/s: None
    • 3
    • 2
    • 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 driver adopter
      I want the features in versions after 6.5.0 without performance regressions
      So that my app continues to perform as well as it did in 6.5.0

      User Impact

      • ~9% Performance regression on running commands

      Dependencies

      • BSON was also upgraded in these driver versions

      Unknowns

      • Where did we introduce performance regression?
        • BSON changes?
        • OnDemand MongoDBResponse changes?
        • CSOT timeout changes?
          • ClientSession uses client.options which is a getter that spreads and freezes

      Acceptance Criteria

      Implementation Requirements

      • Determine the source of regression (see attached reproduction script)
      • Mitigate

      Testing Requirements

      • Did our performance testing not alert?
        • check if runCommand changed

      Documentation Requirements

      • None

      Follow Up Requirements

      • None

        1. reproduce.mjs
          2 kB
          Neal Beeken

            Assignee:
            durran.jordan@mongodb.com Durran Jordan
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: