I should also add that I have a delete trigger such that if doc B is deleted
from /URI-2/B, then doc C is also deleted from /URI-3/C.

 

- Tim

  _____  

From: general-boun...@developer.marklogic.com
[mailto:general-boun...@developer.marklogic.com] On Behalf Of Tim Meagher
Sent: Saturday, November 14, 2009 2:50 PM
To: 'General Mark Logic Developer Discussion'
Subject: [MarkLogic Dev General] Pipeline question
andXDMP-CONFLICTINGUPDATES error

 

Hi Folks,

 

In have researched previous postings that indicate that the
XDMP-CONFLICTINGUPDATES error can be related to deleting and updating a
document, but I'm wondering if it can also be related to a document being
processed by multiple pipelines.

 

I have 2 pipelines, P1 and P2.  P1 works like this:

 

When doc A is inserted into /URI-1/A, it triggers P1 which creates doc B and
inserts it into /URI-2/B.

 

When doc B is inserted into /URI-2/B, it triggers P2 which creates doc C and
inserts it into /URI-3/C.  The last thing that P2 does is to delete doc A
from /URI-1/A.

 

Note that /URI-1/A and /URI-2/B are in the same database, but /URI-3/C gets
inserted into a different database via using xdmp:invoke.

 

Also note that the error only occurs when doc A is inserted into /URI-1/A
for the first time, even though both pipelines are configured to run when
either new or updated are inserted.  Subsequent updates do not appear to be
causing the XDMP-CONFLICTINGUPDATES error.  I addition, the
XDMP-CONFLICTINGUPDATES error does not occur for all documents, but maybe
only 5% of the docs that are inserted.

 

So my question is, is it possible that there can be a race condition between
P1 and P2 in that P1 has completed inserting B into the database which
triggers P2 before P1 has fully updated the status of the document B?

 

Thank you!

 

Tim Meagher

 

_______________________________________________
General mailing list
General@developer.marklogic.com
http://xqzone.com/mailman/listinfo/general

Reply via email to