#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.

Change History (0)

Note: See TracTickets for help on using tickets.