From: Daira Hopwood Date: Mon, 15 Apr 2013 19:22:18 +0000 (+0100) Subject: Unconditionally use HTTPConnectionPool, and depend on a Twisted that provides it. X-Git-Url: https://git.rkrishnan.org/%5B/%5D%20/uri/reliability?a=commitdiff_plain;h=18c5fda6700ad6b5bf71acc64dfa1e27859b75e8;p=tahoe-lafs%2Ftahoe-lafs.git Unconditionally use HTTPConnectionPool, and depend on a Twisted that provides it. Signed-off-by: Daira Hopwood --- diff --git a/src/allmydata/_auto_deps.py b/src/allmydata/_auto_deps.py index 61ad3aef..ab3d948f 100644 --- a/src/allmydata/_auto_deps.py +++ b/src/allmydata/_auto_deps.py @@ -28,8 +28,10 @@ install_requires = [ # https://twistedmatrix.com/trac/ticket/411 # * The SFTP frontend depends on Twisted 11.0.0 to fix the SSH server # rekeying bug http://twistedmatrix.com/trac/ticket/4395 + # * The cloud backend depends on Twisted 12.1.0 for HTTPConnectionPool. + # * IPv6 support will also depend on Twisted 12.1.0. # - "Twisted >= 11.0.0", + "Twisted >= 12.1.0", # * foolscap < 0.5.1 had a performance bug which spent O(N**2) CPU for # transferring large mutable files of size N. diff --git a/src/allmydata/storage/backends/cloud/cloud_common.py b/src/allmydata/storage/backends/cloud/cloud_common.py index 6cacbaf6..258caf7a 100644 --- a/src/allmydata/storage/backends/cloud/cloud_common.py +++ b/src/allmydata/storage/backends/cloud/cloud_common.py @@ -6,12 +6,7 @@ import urllib from twisted.internet import defer, reactor, task from twisted.python.failure import Failure from twisted.web.error import Error -from twisted.web.client import FileBodyProducer, ResponseDone, Agent -try: - from twisted.web.client import HTTPConnectionPool -except ImportError: - # Old version of Twisted - HTTPConnectionPool = None +from twisted.web.client import FileBodyProducer, ResponseDone, Agent, HTTPConnectionPool from twisted.web.http_headers import Headers from twisted.internet.protocol import Protocol @@ -708,10 +703,7 @@ class CommonContainerMixin(HTTPClientMixin, ContainerRetryMixin): def __init__(self, container_name, override_reactor=None): self._container_name = container_name self._reactor = override_reactor or reactor - if HTTPConnectionPool: - self._agent = Agent(self._reactor, pool=HTTPConnectionPool(self._reactor)) - else: - self._agent = Agent(self._reactor) + self._agent = Agent(self._reactor, pool=HTTPConnectionPool(self._reactor)) self.ServiceError = CloudServiceError def __repr__(self):