Skip to content

DOCSP-49002 Auto-downloaded C Driver incorrectly inherits BUILD_VERSION #124

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Apr 18, 2025

Conversation

lindseymoore
Copy link
Collaborator

@lindseymoore lindseymoore commented Apr 17, 2025

Pull Request Info

PR Reviewing Guidelines

JIRA - https://jira.mongodb.org/browse/DOCSP-49002

Staging Links

  • whats-new
  • Self-Review Checklist

    • Is this free of any warnings or errors in the RST?
    • Did you run a spell-check?
    • Did you run a grammar-check?
    • Are all the links working?
    • Are the facets and meta keywords accurate?
    • Are the page titles greater than 20 characters long and SEO relevant?

    Copy link

    netlify bot commented Apr 17, 2025

    Deploy Preview for docs-cpp ready!

    Name Link
    🔨 Latest commit 07a8f8a
    🔍 Latest deploy log https://app.netlify.com/sites/docs-cpp/deploys/6802c45b9ede60000862a81b
    😎 Deploy Preview https://deploy-preview-124--docs-cpp.netlify.app
    📱 Preview on mobile
    Toggle QR Code...

    QR Code

    Use your smartphone camera to open QR code link.

    To edit notification comments on pull requests, go to your Netlify site configuration.

    Copy link
    Collaborator

    @mongoKart mongoKart left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    a few small changes, then LGTM!

    @@ -42,6 +42,18 @@ The v4.0 driver release includes the following new features:
    - Adds a getter method for the ``start_at_operation_time`` field of a
    ``mongocxx::options::change_stream`` instance.

    The release includes the following bug:
    Copy link
    Collaborator

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    S: I would make this more visible, such as in an admonition at the top of this release, in case it changes someone's mind about upgrading to this version

    Copy link
    Collaborator Author

    @lindseymoore lindseymoore Apr 18, 2025

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    For technical reviewer: Is this bug critical enough that it needs to be more visible? @eramongodb

    Copy link
    Collaborator

    @eramongodb eramongodb Apr 18, 2025

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Difficult to say. This bug only manifests if all of the following conditions are met:

    • the user is auto-downloading the C Driver instead of using an existing installation, and
    • the user's build system or application is sensitive to the C Driver's API version number (that is, the version number itself), and
    • the user runs the CMake configure step more than once OR sets an explicit BUILD_VERSION for the C++ Driver on initial configuration, and/or
    • the user installs the C Driver libraries (alongside the C++ Driver libraries) to be used by other programs which expect a valid API version number.

    I expect it is unlikely there are many users who satisfy all of these requirements, as either:

    • they are using prebuild C and/or C++ libraries (i.e. via system package manager), or
    • they are running the CMake configure step only once (configure, build, install) and without setting an explicit BUILD_VERSION (why would they?), or
    • they are not using the C Driver libraries in a way that is sensitive to the API version number itself (e.g. CMake package config files for C++ Driver will identify the C Driver packages even with the incorrect package/API version number).

    The inclusion of this bug notice is to encourage users using these version to at least check the C Driver libraries' API version numbers are as expected out of goodwill, but given nobody (including us) have noticed this bug since the Oct 2 release of 3.11, it's likely the actual user impact of this bug is either minimal, or not enough time has passed for usage experience to reveal this bug.

    Copy link
    Collaborator Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Thanks for the additional context! Will leave where it is. If issue becomes more prevalent, another ticket can be filed to make the bug notice more visible/give more guidance.

    @lindseymoore lindseymoore requested review from a team and eramongodb and removed request for a team April 18, 2025 19:31
    @@ -42,6 +42,18 @@ The v4.0 driver release includes the following new features:
    - Adds a getter method for the ``start_at_operation_time`` field of a
    ``mongocxx::options::change_stream`` instance.

    The release includes the following bug:
    Copy link
    Collaborator

    @eramongodb eramongodb Apr 18, 2025

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Difficult to say. This bug only manifests if all of the following conditions are met:

    • the user is auto-downloading the C Driver instead of using an existing installation, and
    • the user's build system or application is sensitive to the C Driver's API version number (that is, the version number itself), and
    • the user runs the CMake configure step more than once OR sets an explicit BUILD_VERSION for the C++ Driver on initial configuration, and/or
    • the user installs the C Driver libraries (alongside the C++ Driver libraries) to be used by other programs which expect a valid API version number.

    I expect it is unlikely there are many users who satisfy all of these requirements, as either:

    • they are using prebuild C and/or C++ libraries (i.e. via system package manager), or
    • they are running the CMake configure step only once (configure, build, install) and without setting an explicit BUILD_VERSION (why would they?), or
    • they are not using the C Driver libraries in a way that is sensitive to the API version number itself (e.g. CMake package config files for C++ Driver will identify the C Driver packages even with the incorrect package/API version number).

    The inclusion of this bug notice is to encourage users using these version to at least check the C Driver libraries' API version numbers are as expected out of goodwill, but given nobody (including us) have noticed this bug since the Oct 2 release of 3.11, it's likely the actual user impact of this bug is either minimal, or not enough time has passed for usage experience to reveal this bug.

    @lindseymoore lindseymoore requested a review from eramongodb April 18, 2025 20:55
    @lindseymoore lindseymoore requested a review from eramongodb April 18, 2025 21:28
    @lindseymoore lindseymoore merged commit ff0ddd8 into mongodb:master Apr 18, 2025
    6 checks passed
    github-actions bot pushed a commit that referenced this pull request Apr 18, 2025
    …ON (#124)
    
    * DOCSP-49002 Auto-downloaded C Driver incorrectly inherits BUILD_VERSION
    
    * edit
    
    * edit
    
    * MW review
    
    * tech review
    
    * vale check
    
    * remove build version mention
    
    * edit
    
    (cherry picked from commit ff0ddd8)
    github-actions bot pushed a commit that referenced this pull request Apr 18, 2025
    …ON (#124)
    
    * DOCSP-49002 Auto-downloaded C Driver incorrectly inherits BUILD_VERSION
    
    * edit
    
    * edit
    
    * MW review
    
    * tech review
    
    * vale check
    
    * remove build version mention
    
    * edit
    
    (cherry picked from commit ff0ddd8)
    lindseymoore added a commit that referenced this pull request Apr 18, 2025
    …ON (#124) (#125)
    
    * DOCSP-49002 Auto-downloaded C Driver incorrectly inherits BUILD_VERSION
    
    * edit
    
    * edit
    
    * MW review
    
    * tech review
    
    * vale check
    
    * remove build version mention
    
    * edit
    
    (cherry picked from commit ff0ddd8)
    
    Co-authored-by: lindseymoore <[email protected]>
    lindseymoore added a commit that referenced this pull request Apr 18, 2025
    …ON (#124) (#126)
    
    * DOCSP-49002 Auto-downloaded C Driver incorrectly inherits BUILD_VERSION
    
    * edit
    
    * edit
    
    * MW review
    
    * tech review
    
    * vale check
    
    * remove build version mention
    
    * edit
    
    (cherry picked from commit ff0ddd8)
    
    Co-authored-by: lindseymoore <[email protected]>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    3 participants