[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2206: S3 cloud container AttributeError when retrying an operation: S3Container instance has no attribute '_reactor'
Tahoe-LAFS
trac at tahoe-lafs.org
Tue Mar 25 03:08:52 UTC 2014
#2206: S3 cloud container AttributeError when retrying an operation: S3Container
instance has no attribute '_reactor'
--------------------------+------------------------------
Reporter: daira | Owner:
Type: defect | Status: new
Priority: major | Milestone: soon
Component: code-storage | Version: cloud-branch
Keywords: cloud s3 | Launchpad Bug:
--------------------------+------------------------------
The retry handling for S3 containers in the cloud backend is broken.
In [ticket at 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.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2206>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list