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

NoMethodError after upgrading from v2.16 to v2.20

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 2.20.1
    • Affects Version/s: None
    • Component/s: None
    • None
    • Ruby Drivers

      After upgrading mongo-ruby-driver from v2.16 to v2.20, we've been seeing this error come up a lot:

      NoMethodError

      undefined method `retryable?' for #<Mongo::Error::PoolClearedError: Connection to <REDACTED> interrupted due to server monitor timeout (for pool 0x785320) (legacy retry, attempt 1)>
      Did you mean? resizable?
       

      It appears PoolClearedError is not listed under BaseWorker#retryable_exceptions and only has #write_retryable? defined (through WriteRetryable) but not #retryable? so when #legacy_read_with_retry is called on ReadWorker and a PoolClearedError is raised, the ReadWorker attempts to check #retryable? on this error but fails.

            Assignee:
            dmitry.rybakov@mongodb.com Dmitry Rybakov
            Reporter:
            felix@felixmo.com Felix Mo
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: