Opened at 2014-03-25T03:08:52Z
Last modified at 2016-06-28T18:17:14Z
#2206 closed defect
S3 cloud container AttributeError when retrying an operation: S3Container instance has no attribute '_reactor' — at Initial Version
Reported by: | daira | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.14.0 |
Component: | code-storage | Version: | cloud-branch |
Keywords: | cloud s3 review-needed | Cc: | |
Launchpad Bug: |
Description
The retry handling for S3 containers in the cloud backend is broken.
In [ticket@2116#comment:27], we have a traceback ending with:
> File \"/home/customer/LAFS_source/src/allmydata/storage/backends/cloud/cloud_common.py\", line 370, in _retry > d2 = self._handle_error(f, 1, None, description, operation, *args, **kwargs) > File \"/home/customer/LAFS_source/src/allmydata/storage/backends/cloud/cloud_common.py\", line 417, in _handle_error > d = task.deferLater(self._reactor, BACKOFF_SECONDS_BEFORE_RETRY[trynum-1], operation, *args, **kwargs) > exceptions.AttributeError: S3Container instance has no attribute '_reactor'
This is a bug introduced during the refactoring that added allmydata.storage.backends.cloud.cloud_common.CommonContainerMixin. self._reactor is now set in the constructor inherited from CommonContainerMixin, but S3Container does not inherit from CommonContainerMixin and so does not call that constructor.
Note: See
TracTickets for help on using
tickets.