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

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

     [ http://issues.apache.org/jira/browse/SANDESHA2-58?page=all ]

Andrew Gatford updated SANDESHA2-58:
------------------------------------

    Attachment: terminateStored.patch

The first patch is to store the terminate message

> Terminate and Close rejected for sequences that have not been established
> -------------------------------------------------------------------------
>
>                 Key: SANDESHA2-58
>                 URL: http://issues.apache.org/jira/browse/SANDESHA2-58
>             Project: Apache Sandesha2
>          Issue Type: Improvement
>            Reporter: Andrew Gatford
>            Priority: Minor
>         Attachments: 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.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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