Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2927

Document trimFactor and sparsity and make optional

    • Needed
    • Hide

      See DRIVERS guide to Range GA for guidance implementing all Range GA tickets. 

      Summary of necessary driver changes

      • Upgrade to libmongocrypt containing changes of MONGOCRYPT-698.
      • Implement prose test and sync spec test.
      • Make RangeOpts.trimFactor and RangeOpts.sparsity optional

      Commits for syncing spec/prose tests

      References

      Changelog

      • 2024-08-02: Link to guide.
      • 2024-08-01: Note expected payload change in test related to DRIVERS-2776.
      Show
      See DRIVERS guide to Range GA for guidance implementing all Range GA tickets.  Summary of necessary driver changes Upgrade to libmongocrypt containing changes of MONGOCRYPT-698 . Binaries are available on Evergreen in these build-and-test-and-upload tasks . Implement prose test and sync spec test. Make RangeOpts.trimFactor and RangeOpts.sparsity optional Commits for syncing spec/prose tests See spec and prose test in https://github.com/mongodb/specifications/commit/38162ecffe6cb065f8c8267d17e6083cb79a0153 References See https://github.com/mongodb/mongo-c-driver/pull/1677 for a reference implementation in the C driver. Changelog 2024-08-02: Link to guide. 2024-08-01: Note expected payload change in test related to DRIVERS-2776.
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-5636 Fixed 1.28.0
      CXX-3071 Backlog
      CSHARP-5187 Done 2.29.0
      GODRIVER-3279 Fixed 2.0.0, 1.17.0
      JAVA-5537 Fixed 5.2.0
      NODE-6284 Fixed 6.9.0
      MOTOR-1341 Duplicate
      PYTHON-4566 Duplicate
      PHPC-2462 Fixed 1.20.0
      RUBY-3517 Backlog
      RUST-1999 Fixed 3.1.0
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-5636 Fixed 1.28.0 CXX-3071 Backlog CSHARP-5187 Done 2.29.0 GODRIVER-3279 Fixed 2.0.0, 1.17.0 JAVA-5537 Fixed 5.2.0 NODE-6284 Fixed 6.9.0 MOTOR-1341 Duplicate PYTHON-4566 Duplicate PHPC-2462 Fixed 1.20.0 RUBY-3517 Backlog RUST-1999 Fixed 3.1.0

      Summary

      • Document the purpose of trimFactor and sparsity.
      • Make trimFactor and sparsity optional. Apply defaults chosen in SERVER-91077 in libmongocrypt.
      • Verify server default min/max values added in SERVER-91075 are applied client-side in libmongocrypt.

      Motivation

      trimFactor and sparsity are currently specified as required arguments in RangeOpts. trimFactor and sparsity are expected to be advanced configuration that most users would not know how to meaningfully change (see slack thread). Making them optional may ease usage. Documentation may help clarify that most users can leave these unset.

      trimFactor is documented here:

      Is this issue urgent?

      Yes. Should be done before Range GA (DRIVERS-2776).

            Assignee:
            kevin.albertson@mongodb.com Kevin Albertson
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Kevin Albertson Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: