You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by "Andrew Gatford (JIRA)" <ji...@apache.org> on 2007/11/02 12:46:50 UTC

[jira] Resolved: (SANDESHA2-58) Terminate and Close rejected for sequences that have not been established

     [ https://issues.apache.org/jira/browse/SANDESHA2-58?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Gatford resolved SANDESHA2-58.
-------------------------------------

    Resolution: Fixed

> Terminate and Close rejected for sequences that have not been established
> -------------------------------------------------------------------------
>
>                 Key: SANDESHA2-58
>                 URL: https://issues.apache.org/jira/browse/SANDESHA2-58
>             Project: Sandesha2
>          Issue Type: Improvement
>            Reporter: Andrew Gatford
>            Priority: Minor
>         Attachments: ackRequestStore.patch, closeStore.patch, processOutMessageRefactor.patch, terminateStored.patch
>
>
> Ack request, close and terminate works are rejected calls if the RM sequence has not been established
> with code similar to the following ->
>             String outSequenceID = SandeshaUtil.getSequenceProperty
> (internalSeqenceID,
>                         Sandesha2Constants.SequenceProperties.
> OUT_SEQUENCE_ID, storageManager);
>             if (outSequenceID == null)
>                   throw new SandeshaException(SandeshaMessageHelper.
> getMessage(
>                               SandeshaMessageKeys.
> couldNotSendAckRequestSeqNotFound, internalSeqenceID));
> This would mean that the following case would fail if the target service is not currently available:
> 1) createSequence
> 2) send app message
> 3) terminate sequence
> 4) wait for sequence completion
> 1 and 2 would both be accepted by RM and would be queued, 3 might fail if
> the create sequence response has not been recieved and the terminate would
> be lost.
> The change is to the Ack/Terminate and Close
> processors to Add SenderBeans  with send set to false, and add the messages
> to the store with a Temp sequence id (as with the application messages).
> In the close and terminate cases, no more messages would then be accepted
> on the sequence.
> When the CreateSequence response is processed it would then be able to fill
> in the sequence id for each of the different message types (app/ack/close
> and terminate).
> This way the ack, close and terminate requests would not be rejected and
> the Sender would be able to send the messages in order.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org