Akitoshi Yoshida created CXF-6667:
-------------------------------------

             Summary: Closing a source sequence in WS-RM may lead to 
inconsistent sequence statusw
                 Key: CXF-6667
                 URL: https://issues.apache.org/jira/browse/CXF-6667
             Project: CXF
          Issue Type: Bug
          Components: WS-* Components
    Affects Versions: 3.1.4, 3.0.7
            Reporter: Akitoshi Yoshida
            Assignee: Akitoshi Yoshida


This issue affets WS-RM feature used with RMStore.

When the source sequence is closed by an out-of-band close message (sending 
CloseSequence in WS-RM 1.1 or sending an empty LastMessage in WS-RM 1.0), the 
sequence status in the RMStore is not updated. As a result, when the endpoint 
is shutdown and restarted, it will find the old sequence which was actually 
closed and use that sequence to send new messages. This may lead to message 
loss at the server under WS-RM 1.0 or to a permanent error under WS-RM 1.1.

More precisely, this issue can happen when the following conditions hold.

1. the sequence is closed either upon the shutdown of the WS-RM endpoint (e.g., 
when its terminateOnShutdown is set to true) or when the closeSequence 
operation is invoked by other means (e.g., over JMX console)
2. there is at least one unacknowledged message still stored in the sequence
3. a persistent storage is used

Although the underlining issue itself also existed in CXF 2.7.x, because the 
default value of termninateOnShutdown property in CXF 3.0 was changed [1] from 
false to true, this issue can be observed when migrating scenarios from CXF 
2.7.x to CXF 3.x.x.

[1]
https://github.com/apache/cxf/commit/98d04f03af91e51e3e700f6ddb1c5fb91af07495




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to