[Bug 1278529] Re: Using S3, "BackendException: No connection to backend"

Stephen web at stephencox.net
Wed Dec 31 14:04:02 UTC 2014


The Boto S3Connection provides two methods to connect to a S3 bucket;
get_bucket() raises an exception if there is an issue, while lookup()
returns None if there is an error, hiding the cause of problem.

Duplicity uses the lookup() method and then raises this generic
exception (BackendException: No connection to backend) if None is
returned. The problem is that there are all sorts of reasons why the
connection to the bucket didn't succeed and this is hidden from the end
user, making debugging S3 connection issues more troublesome than
necessary.

A solution would be to use the get_bucket() method, wrap it in a try
catch block and then, on error, raise a BackendException using the
message from the previous exception.

For Duplicity 0.7 this would look like:
/duplicity/backends/_boto_single.py (revision 1041) in resetConnection() line 184
-         self.bucket = self.conn.lookup(self.bucket_name)
+        try:
+            self.bucket = self.conn.get_bucket(self.bucket_name)
+        except Exception as err:
+            raise BackendException(err.message)

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to python-boto in Ubuntu.
https://bugs.launchpad.net/bugs/1278529

Title:
  Using S3, "BackendException: No connection to backend"

To manage notifications about this bug go to:
https://bugs.launchpad.net/duplicity/+bug/1278529/+subscriptions



More information about the Ubuntu-server-bugs mailing list