I recently tried using the single boto client instance using concurrent.futures.ThreadPoolExecutor
. I run into exceptions coming from boto. I assume the boto client is not thread safe in this case.
The exception I got
File "xxx/python3.7/site-packages/boto3/session.py", line 263, in client
aws_session_token=aws_session_token, config=config)
File "xxx/python3.7/site-packages/botocore/session.py", line 827, in create_client
endpoint_resolver = self._get_internal_component('endpoint_resolver')
File "xxx/python3.7/site-packages/botocore/session.py", line 694, in _get_internal_component
return self._internal_components.get_component(name)
File "xxx/python3.7/site-packages/botocore/session.py", line 906, in get_component
del self._deferred[name]