Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-3008

OperationFailure raised when max_time_ms exceeded labelled as retryable

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • None

      Using the following reproduction the error message is misleading as it indicates the operation will be retried.

      require 'mongo'
      client = Mongo::Client.new('mongodb://localhost:27017/test')
      client[:foo].drop
      client[:foo].insert_one({ test: true })
      client[:foo].find({ :'$where' => "sleep(120)" }).max_time_ms(50).to_a
      

      Output:

      Traceback (most recent call last):
             16: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/op_msg_or_find_command.rb:27:in `execute'
             15: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/server.rb:429:in `with_connection'
             14: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/server/connection_pool.rb:590:in `with_connection'
             13: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/op_msg_or_find_command.rb:29:in `block in execute'
             12: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/executable.rb:45:in `execute'
             11: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/executable.rb:45:in `tap'
             10: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/executable.rb:46:in `block in execute'
              9: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/response_handling.rb:26:in `validate_result'
              8: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/response_handling.rb:82:in `unpin_maybe'
              7: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/response_handling.rb:27:in `block in validate_result'
              6: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/response_handling.rb:43:in `add_error_labels'
              5: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/response_handling.rb:28:in `block (2 levels) in validate_result'
              4: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/response_handling.rb:96:in `add_server_diagnostics'
              3: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/shared/response_handling.rb:29:in `block (3 levels) in validate_result'
              2: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/result.rb:311:in `validate!'
              1: from /home/alex/.rvm/gems/ruby-2.7.1/gems/mongo-2.14.0/lib/mongo/operation/result.rb:343:in `raise_operation_failure'
      Mongo::Error::OperationFailure (operation exceeded time limit (50) (on 192.168.2.100:27017, modern retry, attempt 1))
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            alex.bevilacqua@mongodb.com Alex Bevilacqua
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: