[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [provision] The modification problem gets worse...
Gerry, In the current specification there are three modification options. There is add, replace, and delete. In your current proposal there is only one replace. That is the basic problem. For replace operations the two are identical. That is why you should not use replace to add a value or to remove a value. Instead of showing a case involving replace (which I have said is not different between the two) please explain how your proposal correctly handles add and remove. Let me repeat my previous example, setting a starting condition: 1) RA 1 and RA 2 read the same fiends and family account 2) RA 1 adds contact D using a modify request (add modification) 3) The modify request is finished, the contact list now contains A, B, C, and D 4) RA 2 removes contact B using a modify request (delete modification) 5) The modify request is finished, the contact list now contains A, C, and D Now in your current proposal the events would be: 1) RA 1 and RA 2 read the same fiends and family account 2) RA 1 adds contact D using a modify request that updates the list to be A, B, C, and D (replace modification) 3) The modify request is finished, the contact list now contains A, B, C, and D 4) RA 2 removes contact B using a modify request that updates the list to be A, C (replace modification) 5) The modify request is finished, the contact list now contains A, C Now before we discuss another example, does this work correctly in your proposal or not? If so how? I contend that this works correctly in the current spec. Why do you think it does not? I am being quite clear about the fact that you would not use a replace modification. That is the whole point to having different modification operations. Jeff Bohren Product Architect OpenNetwork Technologies, Inc -----Original Message----- From: Gearard Woods [mailto:gewoods@us.ibm.com] Sent: Thursday, March 13, 2003 12:56 PM To: Jeff Bohren Cc: provision@lists.oasis-open.org Subject: Re: [provision] The modification problem gets worse... Jeff, Your argument here and in your previous message is predicated on the assumption that the RAs in my scenario hold the state of the data while in yours they do not. In yours they simply request a modification that is independent of the current state of the data. You argue that this is not a race condition problem and that your scenario will not suffer from it. Let's go through it again using your implementation: RA 1 Entry RA2 create A: 1,2 B: 3,4 read A:1,2 B:3,4 replace B: 5,6 A:1,2 B:5,6 replace B:3,5 A:1,2 B:3,5 This is how the current specification works and according to you this is fine. I'm not sure that I see much of a difference in the end result. Please explain. Gerry |---------+----------------------------> | | Jeff Bohren | | | <jbohren@opennetw| | | ork.com> | | | | | | 03/13/2003 05:22 | | | AM | | | | |---------+----------------------------> >----------------------------------------------------------------------- -------------------------------------------------------| | | | To: provision@lists.oasis-open.org | | cc: | | Subject: [provision] The modification problem gets worse... | | | >----------------------------------------------------------------------- -------------------------------------------------------| In a previous posting I have shown how the current proposal by Gerry Woods will cause data corruption when doing modifications. I have shown this using a very simple case. Gerry has suggested that this could be overcome by a modification mechanism that uses XPath in combination with ldap like modification semantics. Although this alternative has not been fully fleshed out, it will not work either. Even theoretically it will fail. Let me explain why. Suppose a record has data that looks like: <A> <B> <C>foo1</C> <C>foo2</C> <C>foo3</C> </B> <B> <C>foo4</C> <C>foo5</C> <C>foo6</C> <B> </A> No suppose RA1 wants to change the first B component. It would have to issues a modification request with an XPath that refers to B where B has foo1, foo2, and foo3. Now suppose the modification changes the record so that it looks like: <A> <B> <C>foo1</C> <C>bar8</C> <C>foo3</C> </B> <B> <C>foo4</C> <C>foo5</C> <C>foo6</C> <B> </A> Now suppose at a later time RA2 wants to remove the first B component from A. It would have to issues a modification request with an XPath that refers to B where B has foo1, foo2, and foo3. This request would now fail. There is no automatic way for RA2 to reconcile the differences. Jeff Bohren Product Architect OpenNetwork Technologies, Inc ---------------------------------------------------------------- To subscribe or unsubscribe from this elist use the subscription manager: <http://lists.oasis-open.org/ob/adm.pl>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]