• Type: Icon: Epic Epic
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: js-bson, Performance
    • Labels:
    • 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?
    • 7
    • Hide

      Engineer(s): Neal Beeken

      2024-04-26: 
      Last two weeks:

      • Working on integrating on-demand BSON implementation into Cursor class
        Next two weeks:
      • Wrap up cursor implementation

      2024-04-12: 

      • Neal OOO for 1 week since last update.
      • Merged the MongoDBResponse abstraction for only parsing BSON as needed. Working on CursorResponses now, chunking threw some test failures, ~20 should have it in review by Monday.
        What's planned for the next two weeks?
        Reviewing and refining cursor responses. Setting a plan for how we can opt-in to more on-demand use as we refactor/modernize more of the driver.

      Engineer(s): Neal Beeken

      2024-03-28: 

      • We can greatly improve the driver's internal types with this project. We are finding and squashing a whole class of bugs that are discovered with stricter typing
      • The "first half" of this project was completed. BSON changes for this project were reviewed and merged.
      • Driver changes are in progress now
        • PoC-ed the changes to get an idea of the direction we were headed in and got alignment from the team
        • Remaining tasks are broken down into subtasks- planning to work on those and setting up to run benchmarks on the changes
      Show
      Engineer(s): Neal Beeken 2024-04-26:  Last two weeks: Working on integrating on-demand BSON implementation into Cursor class Next two weeks: Wrap up cursor implementation 2024-04-12:  Neal OOO for 1 week since last update. Merged the MongoDBResponse abstraction for only parsing BSON as needed. Working on CursorResponses now, chunking threw some test failures, ~20 should have it in review by Monday. What's planned for the next two weeks? Reviewing and refining cursor responses. Setting a plan for how we can opt-in to more on-demand use as we refactor/modernize more of the driver. Engineer(s): Neal Beeken 2024-03-28:  We can greatly improve the driver's internal types with this project. We are finding and squashing a whole class of bugs that are discovered with stricter typing The "first half" of this project was completed. BSON changes for this project were reviewed and merged. Driver changes are in progress now PoC-ed the changes to get an idea of the direction we were headed in and got alignment from the team Remaining tasks are broken down into subtasks- planning to work on those and setting up to run benchmarks on the changes

      This project proposes a new deserialization API that pulls apart a BSON byte sequence into its basic ordered key/value form. Users would then be able to easily build upon the core byte information of a document to access the byte sequences of a BSON value given a key that exists in the document (i.e. by providing something modular we provide something extensible). This API would give the driver the ability to provide a granular and customizable decoding step so that users can obtain the byte interpretation that best suits their use case. At the center of this project is a Javascript generator which provides the ability to hold a reference to the original BSON bytes and suspend any parsing work until requested by the iterator.

            Assignee:
            neal.beeken@mongodb.com Neal Beeken
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Votes:
            4 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              8 weeks, 2 days