diff --git a/awsapi/src/com/cloud/bridge/service/S3RestServlet.java b/awsapi/src/com/cloud/bridge/service/S3RestServlet.java index 2219e1bd7db..706f254f652 100644 --- a/awsapi/src/com/cloud/bridge/service/S3RestServlet.java +++ b/awsapi/src/com/cloud/bridge/service/S3RestServlet.java @@ -185,16 +185,19 @@ public class S3RestServlet extends HttpServlet { } catch( InvalidBucketName e) { + PersistContext.rollbackTransaction(); logger.error("Unexpected exception " + e.getMessage(), e); response.setStatus(400); endResponse(response, "Invalid Bucket Name - " + e.toString()); } catch(PermissionDeniedException e) { + PersistContext.rollbackTransaction(); logger.error("Unexpected exception " + e.getMessage(), e); response.setStatus(403); endResponse(response, "Access denied - " + e.toString()); } catch(Throwable e) { + PersistContext.rollbackTransaction(); logger.error("Unexpected exception " + e.getMessage(), e); response.setStatus(404); endResponse(response, "Bad request");