From 933bc5ade145413b0c7307a12b9d0b4084e7d767 Mon Sep 17 00:00:00 2001 From: Prashanth Pai Date: Fri, 29 Apr 2016 19:58:21 +0530 Subject: Handle non-blocking renames during object PUTs DiskFile._finalize_put() will now retry renames if it fails with EBUSY or ESTALE. This is required because for a brief period of time, rename operation in glusterfs was non-blocking. Reference: http://review.gluster.org/#/c/13366/ This change also does the following: * Updates comments to add clarity for operations done and exceptions caught in DiskFile.create() * Handles race between container existance check (memcache) and object creation a little more gracefully by logging what really happened. Change-Id: I89777be19eef73826b5f84deec0777173b62935f Signed-off-by: Prashanth Pai Reviewed-on: http://review.gluster.org/14118 Reviewed-by: Thiago da Silva Tested-by: Thiago da Silva --- gluster/swift/common/exceptions.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gluster/swift/common/exceptions.py') diff --git a/gluster/swift/common/exceptions.py b/gluster/swift/common/exceptions.py index 010ea24..8260dd9 100644 --- a/gluster/swift/common/exceptions.py +++ b/gluster/swift/common/exceptions.py @@ -44,3 +44,7 @@ class AlreadyExistsAsDir(GlusterfsException): class AlreadyExistsAsFile(GlusterfsException): pass + + +class DiskFileContainerDoesNotExist(GlusterfsException): + pass -- cgit