#2206 closed defect

S3 cloud container AttributeError when retrying an operation: S3Container instance has no attribute '_reactor' — at Version 1

Reported by: daira Owned by: daira
Priority: major Milestone: 1.14.0
Component: code-storage Version: cloud-branch
Keywords: cloud s3 review-needed Cc:
Launchpad Bug:

Description (last modified by daira)

The retry handling for S3 containers in the cloud backend is broken.

In 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 (1)

comment:1 Changed at 2014-03-25T03:09:23Z by daira

  • Description modified (diff)
  • Owner set to daira
  • Status changed from new to assigned
Note: See TracTickets for help on using tickets.