Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-5439

MongoOperationTImeout is exposed when CSOT is disabled

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.2.0
    • Affects Version/s: None
    • Component/s: CSOT
    • None
    • Java Drivers
    • 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?

      Description: A regression was introduced in the recent Timeout API refactoring where MongoOperationTimeout is being thrown in run/call methods without checks for whether Client-Side Operation Timeout (CSOT) is enabled.

      Expected Behavior: When CSOT is disabled, the driver should throw the previously established exceptions for timeout scenarios, maintaining the behavior prior to the Timeout API refactoring.

      Actual Behavior: Despite CSOT being disabled, the MongoOperationTimeout is thrown.

      Reference: https://github.com/vbabanin/mongo-java-driver/blob/3b6ba322e8633b0f8d574934f27a60537307f1e9/driver-core/src/main/com/mongodb/internal/connection/SocketStreamHelper.java#L81

      Acceptance criteria:

      • Search throughout the codebase to identify any similar timeout-related issues.
      • Implement fixes where the CSOT status is not checked appropriately.

            Assignee:
            slav.babanin@mongodb.com Slav Babanin
            Reporter:
            slav.babanin@mongodb.com Slav Babanin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: