[CalendarServer-changes] [6692] CalendarServer/trunk/twistedcaldav/storebridge.py
source_changes at macosforge.org
source_changes at macosforge.org
Tue Dec 14 14:14:07 PST 2010
Revision: 6692
http://trac.macosforge.org/projects/calendarserver/changeset/6692
Author: sagen at apple.com
Date: 2010-12-14 14:14:03 -0800 (Tue, 14 Dec 2010)
Log Message:
-----------
Simultaneous DELETEs can lead to uncaught exceptions. Turning those into HTTPError(404).
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/storebridge.py
Modified: CalendarServer/trunk/twistedcaldav/storebridge.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/storebridge.py 2010-12-14 21:02:51 UTC (rev 6691)
+++ CalendarServer/trunk/twistedcaldav/storebridge.py 2010-12-14 22:14:03 UTC (rev 6692)
@@ -59,6 +59,7 @@
from twistedcaldav.vcard import Component as VCard
from txdav.base.propertystore.base import PropertyName
+from txdav.common.icommondatastore import NoSuchObjectResourceError
log = Logger()
@@ -1133,9 +1134,12 @@
# Do delete
- yield self._newStoreParent.removeObjectResourceWithName(
- self._newStoreObject.name()
- )
+ try:
+ yield self._newStoreParent.removeObjectResourceWithName(
+ self._newStoreObject.name()
+ )
+ except NoSuchObjectResourceError:
+ raise HTTPError(responsecode.NOT_FOUND)
# Re-initialize to get stuff setup again now we have no object
self._initializeWithObject(None, self._newStoreParent)
@@ -1603,5 +1607,7 @@
except MemcacheLockTimeoutError:
raise HTTPError(StatusResponse(CONFLICT, "Resource: %s currently in use on the server." % (where,)))
+ except NoSuchObjectResourceError:
+ raise HTTPError(responsecode.NOT_FOUND)
returnValue(NO_CONTENT)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20101214/384649d7/attachment-0001.html>
More information about the calendarserver-changes
mailing list