On 06/04/2015 07:20 AM, Christopher Hamlin wrote:
> Hi,
>
> This happens on success, when the next state is the same as the old state.
>
> In your pipeline I see:
>
>    <state-transition>
>      <state>http://marklogic.com/states/sent</state>
>      <on-success>http://marklogic.com/states/sent</on-success>
>
> Perhaps this is what is happening:  when it is in sent, and succeeds,
> it tries to move to sent, and so just doesn't move.
>
> Not sure why this would be different after upgrade, but could be an
> extra guard that was added (or, just an extra notification)?

Yes, since CPF is trigger based, there are race conditions that can 
arise between competing triggers and the CPF code has a lot of checks to 
prevent this from causing trouble. (This is what the 
cpf:check-transition is doing for you.)  The warning messages are 
telling you that maybe you have two pipelines or domains that are 
competing with each other. This is very bad, as it leads to 
unpredictable results.

In pipelines the states where work actually happens should have a 
transition definition for them and the terminal states should not. It is 
a little unwise to use the same state name for both the state before 
something is sent and for when it has been sent, as a query of the 
states cannot distinguish them. That is, knowing a document is in state 
"http://marklogic.com/states/sent"; doesn't tell you whether it is about 
to be sent or has been sent. Having the pipeline defined as you do where 
you loop back to the same state will work (if you're willing to overlook 
the warnings) but I'd recommend renaming one or the other of these states.

//Mary

Aside: You can name the states anything you want, by the way, they don't 
have to start with "http://marklogic.com/states/";. That is just our 
convention for our own states. You can use any URI you like.

>
> You can check the state by looking at the properties for the doc.
>
> =Chris
>
> On Thu, Jun 4, 2015 at 3:40 AM, Indrajeet Verma
> <[email protected]> wrote:
>> Hi,
>>
>> We have alert configured in our server and when any file inserts into
>> /alert/email/<<file-name>> the email sent to specified user.
>>
>> However after upgrading ML from 6 to 8, the below messages started coming
>>
>> TaskServer: state is already successor so not updating for
>> /alerts/email/15835948930718685389.xml
>>
>> The file name is unique and it can not be same any time.
>>
>> Could somebody help to resolve this.?
>>
>> I am attaching pipeline for the reference.
>>
>> Regards,
>> Indy
>>
>> _______________________________________________
>> General mailing list
>> [email protected]
>> Manage your subscription at:
>> http://developer.marklogic.com/mailman/listinfo/general
>>
> _______________________________________________
> General mailing list
> [email protected]
> Manage your subscription at:
> http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
Manage your subscription at: 
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to