RE: [ws-rx] A rewording of "Sequence termination on Fault" issue

From
Patil, Sanjay <>
Date
2005-07-19T01:42:14+00:00
ID
Thread
RE: [ws-rx] A rewording of "Sequence termination on Fault" issue
One comment inline ...

  

  
  From: Jacques Durand 
  [mailto:] 
Sent: Monday, Jul 18, 2005 18:15 
  PM
To: 
Subject: [ws-rx] A 
  rewording of "Sequence termination on Fault" issue

  

  

  
Title: Sequence 
  termination on Fault

  
 

  
Description: The 
  RM Destination imperatively terminates a sequence due to one of these 
  unrecoverable errors:

  
- wsrm:SequenceTerminated

  
- 
  wsrm:MessageNumberRollover

  
- 
  wsrm:LastMessageNumberExceeded

  
Then any pending non-acknowledged message will be lost 
  for the sequence.  

  
<Sanjay> In addition, I am not sure about the 
  fate of acknowledged messages when a sequence is abruptly terminated. Consider 
  the case where the contract between the Destination RM and the Destination 
  Application is In-Order delivery, and also consider that there are some 
  holes in the sequence at the time of sequence termination due to a 
  MessageNumbeRollover fault. In this case, it is not clear how the 
  Destination RM is supposed to handle the acknowledged messages in the 
  incomplete sequence. If you agree, you may want to change the last 
  sentence above to something on the lines of  - "The semantics of sequence 
  termination due to a fault occurrence are not clearly 
  specified".</Sanjay> 

  
 

  
Justification: 
  Unless an accurate and final acknowledgement status was sent back at the time 
  the sequence is closed, the Source will not know if some non-acknowledged 
  messages were actually received before the termination occurs. This gives the 
  source two unpleasant options: (a) resend all non-acknowledged message in a 
  new sequence, with the risk of causing undetectable duplicates, (b) not resend 
  any, and these will be lost.

  
 

  
Target: 
  core

  
 

  
Type: 
  design

  
 

  
Proposal: Two 
  options need be discussed: Option (1): At the time a Destination-controlled 
  termination gets into effect, a final and accurate Acknowledgement for the 
  entire sequence is sent back. Option (2): After the fault was notified to 
  Source, simply rely on regular termination procedure (either expiration-based, 
  or under Source control, so that the Source can complete its resending of 
  pending messages and get the final acks), meanwhile reject any message for 
  this sequence that exceeds the ending number in case of MessageNumberRollover 
  or LastMessageNumberExceeded.