Title: persistDuration
Jacques,
David may be taking today off. I'll jump in with an
attempt at an answer.
The MessageId value is required to be unique. We mean
globally, universally and forevermore unique. Based on that requirement, a
duplicate message should never be created except as part of retries for
reliable messaging (or through a faulty transfer). MSH
implementations are not required to remove messages from their persistent store
immediately after their duration has expired, leading to other problems with
identifier reuse.
The wording you've called out basically says the same thing as
our equation relating retries and time to live plus "don't waste time and energy
sending something after its time to live has expired". I'd recommend
including words to that effect in the description of sending MSH reliable
messaging behaviour.
thanx,
doug
----- Original Message -----
From: Jacques
Durand
To: ''
Cc: ''
Sent: Tuesday, 20 November 2001 18:17
Subject: [ebxml-msg] persistDuration
David:
It seems to me the lines 1617-1618 about
PersistDuration are not necessary, and even too restrictive from an
implementation perspective:
"If the PersistDuration has passed since
the message was first sent, a Sending MSH SHOULD NOT resend a message
with the same MessageId."
If the "same messageID" means a retry, this seems
automatically implied by the relationship (stated elsewhere):
persistduration + datefirst > timetolive > time last
retry
But if that means more generally a
reuse of ID by a new message, then I would tend to think the opposite is
OK:
it is fine to reuse an ID once its
persistDuration has expired on both sides... (wouldn't be a duplicate)
regards,
Jacques Durand