When a Transport object throws a TransportException during an operation, RetryOnFailureOperation::execute calls TcpTransportFactory::invalidateTransport which in turn calls ConnectionPool::invalidateObject. ConnectionPool::invalidateObject removes the transport from the busy queue, destroys the Transport, and then adds a new Transport to the idle queue. When the new transport is created, it tries to connect to the server socket which fails. This prevents retry attempts and client failover from happening. This is a sporadic failure.
- Alan Field
- Alan Field
- Votes:
-
0 Vote for this issue
- Watchers:
-
2 Start watching this issue
- Created:
- Updated:
- Resolved: