In the rfc2518 document about PROPPATCH: Instructions MUST either all be executed or none executed. Thus if any error occurs during processing all executed instructions MUST be undone and a proper error result returned. If you send a proppatch to Slide for several properties and one fails, no rollback is executed. I get this response: <?xml version="1.0" encoding="utf-8" ?> <d:multistatus xmlns:d="DAV"> <d:response> <d:href>/lts/resource1.html</d:href> <d:propstat> <d:prop> <D:authors1 xmlns:D="DAV:"/> </d:prop> <d:status>HTTP/1.1 200 OK</d:status> </d:propstat> <d:propstat> <d:prop> <D:authors2 xmlns:D="DAV:"/> </d:prop> <d:status>HTTP/1.1 200 OK</d:status> </d:propstat> <d:propstat> <d:prop> <D:creationdate xmlns:D="DAV:"/> </d:prop> <d:status>HTTP/1.1 409 Conflict</d:status> </d:propstat> </d:response> </d:multistatus> and the two properties author1 and author2 remain in the descriptor store.
Is this still true? Which store was used? I would expect it to be a result of a faulty store, e.g slidestore.file.XMLFileDescriptorsStore, which does not rollback a transaction.