W3C home > Mailing lists > Public > public-ldp-wg@w3.org > November 2012

Re: ldp-ISSUE-28 (bertails): transaction/rollback when deleting resources from a LDPC [Linked Data Platform core]

From: Alexandre Bertails <bertails@w3.org>
Date: Mon, 05 Nov 2012 14:18:01 -0500
Message-ID: <509810E9.6010108@w3.org>
To: Richard Cyganiak <richard@cyganiak.de>
CC: "Linked Data Platform (LDP) Working Group" <public-ldp-wg@w3.org>
On 11/05/2012 01:43 PM, Richard Cyganiak wrote:
> On 2 Nov 2012, at 11:05, Linked Data Platform (LDP) Working Group Issue Tracker wrote:
>> The spec must define a notion of transaction with a rollback mechanism in case of error.
>
> This would place a very high bar on implementations. It would make certain simple implementations impossible. It should be left to implementers to decide whether they want to make such strong guarantees.

I agree with the remark re: high bar on implementations. I'd be happy
with a SHOULD to at least incite implementers to deal with the issue.

> Servers should indicate through the status code whether deletion of all children was successful or not.

Yes, but I'd also like to know what went wrong. This is directly
related to the thread about returning machine-readable errors. This
does not have to be a MUST for the same argument than above.

>
> A possible invariant would be: The container itself is only deleted if all of its children were successfully deleted. If some of the children could not deleted, then an appropriate error in the 4XX range is returned and the container remains undeleted. The server SHOULD NOT delete any children if it can work out in advance that it will not be able to delete them all. The container itself thus can only be deleted if it has no children left, and only in that case will a 200/204 be returned.

This looks ok to me.

Alexandre.

>
> Best,
> Richard
>
>
>
>> The general case would be: if something fails when deleting/modifying one the impacted resources, then the server returns an error (with a message explaining the error) and no resource is deleted. This should be captured in at least 5.6.1 and 5.6.2.
>>
>> I'm not sure about the following case though: the "child" LDPR for a given LDPC may not be on the same server. It may be a bad idea to return an error if a distant resource couldn't be deleted.
>>
>>
>>
>>
>>
>
>
>
Received on Monday, 5 November 2012 19:18:08 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:11:42 UTC