-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
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.