AttributeError: type object 'Retry' has no attribute 'other'

I am using requests 2.25.1 with urllib3 1.26.3. Occasionally I get the following stacktrace. Note that the program is multi-threaded but I have all calls to ```session.get()``` inside a ```with threading.Lock()``` so there should not be concurrent access to a ```requests.Session``` object.

```
Traceback (most recent call last):
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.8/http/client.py", line 1347, in getresponse
    response.begin()
  File "/usr/lib/python3.8/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 268, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.8/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.8/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/urllib3/util/retry.py", line 595, in __getattr__
    return getattr(super(Retry, self), item)
AttributeError: 'super' object has no attribute 'other'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/worker/mixins/multithreaded.py", line 114, in run
    self._run()
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/worker/mixins/multithreaded.py", line 229, in _run
    self.worker.update_users(update_requests)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/worker/mixins/account.py", line 101, in update_users
    self.__fetch_users(user_requests)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/worker/mixins/account.py", line 66, in __fetch_users
    users_by_id, fetch_time = self._fetch_users_by_id(external_ids)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/worker/ti.py", line 270, in _fetch_users_by_id
    user = self.client_pool.make_request("get_user", external_id)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/client_pool.py", line 188, in make_request
    client, response = self.make_request_get_client(funcname, *args, **kwargs)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/client_pool.py", line 177, in make_request_get_client
    response = client.make_request(funcname, *args, **kwargs, retry_on_throttled=retry_on_throttled)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/worker/ti.py", line 128, in make_request
    return super(TiClientWrapper, self).make_request(funcname, *args, **kwargs)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/wdb/client_pool.py", line 82, in make_request
    response = getattr(self.client, funcname)(*args, **kwargs)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/apiclient/ti/_client.py", line 274, in get_user
    payload = self.__make_api_request(USER_URL.format(user_id=user_id), "get")
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/apiclient/ti/_client.py", line 299, in __make_api_request
    response = request_with_retry(
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/dkbarn/apiclient/__init__.py", line 48, in request_with_retry
    result = session.get(url, params=args, **kwargs)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/urllib3/util/retry.py", line 516, in increment
    other = self.other
  File "/opt/venv/dkbarn-py38/lib/python3.8/site-packages/urllib3/util/retry.py", line 597, in __getattr__
    return getattr(Retry, item)
AttributeError: type object 'Retry' has no attribute 'other'
```

So the fundamental problem here is that `ConnectionResetError: [Errno 104] Connection reset by peer` while handling that exception we're running into a different exception that's unexpected.

All of that said, you have discarded the issue template intended to help us help you. I'm closing this. If you can provide that information on this issue, we can re-open it.

It does seem, like perhaps urllib3's [`Retry` object](https://github.com/urllib3/urllib3/blob/a8913042b676c510e94fc2b097f6b514ae11a537/src/urllib3/util/retry.py#L74) isn't fully thread-safe which, if I read between the lines, you're using in `request_with_retry` (I'm also assuming `dkbarn/apiclient/ti/_client.py` is your package given it bears your name). In the end, it may be that this is a more suitable bug report for urllib3.