You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Aki Yoshida <sa...@googlemail.com> on 2010/12/22 17:18:46 UTC

WS-RMs' DestinationSequence does not update the ack range stored in the RMStore.

Hi,
I observed this problem when the RM server (its storage option
enabled) is restarted while the client continues to send messages over
the same sequence. In this case, a sequence acknowledge message is
generated by the restarted server but its ack range starts from the
first message after the restart. In other words, the message numbers
acknowledged prior to the server restart are not included in the
AcknowledgementRange.

The reason for this problem seems to be that RMTxStore's
updateDestinationSequence never gets called and consequently the
acknowledgement property of the destination sequence is never updated
in the storage. This update method never gets called because RMStore's
persistIncoming method never gets called.

I think Destination's acknowledge method should include a call to the
RMStore to store the message so that it updates its destination
sequence's acknowledgment property. But to store the message, you need
to create a RMMessage and I am not sure what the best approach is at
this location (it's a different situation from the outbound case).

So for just updating the acknowledgement property in the store, I
modified the Destination's acknowledge method so that it updates the
acknowledgement property using an empty RMMessage for now.

With this change, the acknowledgement messages now contain the whole
range. But I see an open issue regarding the message storage and
delivery mechanism for the inbound processing in general.

Could you comment on this issue and let me know if I should open a
JIRA ticket and attach the diff file?

Thanks.
Regards, Aki

Re: WS-RMs' DestinationSequence does not update the ack range stored in the RMStore.

Posted by Aki Yoshida <sa...@googlemail.com>.
Hi,
I'll be away for a few weeks, so before I forget it after the
holidays, I created a ticket for this issue CXF-3219..

Regards, Aki

On Wed, Dec 22, 2010 at 5:18 PM, Aki Yoshida <sa...@googlemail.com> wrote:
> Hi,
> I observed this problem when the RM server (its storage option
> enabled) is restarted while the client continues to send messages over
> the same sequence. In this case, a sequence acknowledge message is
> generated by the restarted server but its ack range starts from the
> first message after the restart. In other words, the message numbers
> acknowledged prior to the server restart are not included in the
> AcknowledgementRange.
>
> The reason for this problem seems to be that RMTxStore's
> updateDestinationSequence never gets called and consequently the
> acknowledgement property of the destination sequence is never updated
> in the storage. This update method never gets called because RMStore's
> persistIncoming method never gets called.
>
> I think Destination's acknowledge method should include a call to the
> RMStore to store the message so that it updates its destination
> sequence's acknowledgment property. But to store the message, you need
> to create a RMMessage and I am not sure what the best approach is at
> this location (it's a different situation from the outbound case).
>
> So for just updating the acknowledgement property in the store, I
> modified the Destination's acknowledge method so that it updates the
> acknowledgement property using an empty RMMessage for now.
>
> With this change, the acknowledgement messages now contain the whole
> range. But I see an open issue regarding the message storage and
> delivery mechanism for the inbound processing in general.
>
> Could you comment on this issue and let me know if I should open a
> JIRA ticket and attach the diff file?
>
> Thanks.
> Regards, Aki
>