OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

mqtt-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Contradictory statements on Message Expiry and Retained messages


The MQTT 5.0 specs has the following 2 statements, which I feel are contradictory or at least misleading:

 

In 3.3.1.3 Retain:

If the current retained message for a Topic expires, it is discarded and there will be no retained message for that topic.

In 3.3.2.3.3 Message Expiry Interval:

If the Message Expiry Interval has passed and the Server has not managed to start onward delivery to a matching subscriber, then it MUST delete the copy of the message for that subscriber.

The implication from 3.3.1.3 is that Message Expiry applies to retained messages. Yet in 3.3.2.3.3 suggests messages expire only when they have been selected for delivery to a certain individual subscriber. How then can a retained message, which is held outside of the state of any particular session, expire?

I can see the possible value in retained messages expiring when they become too old, but why would this be tied to their having been delivered to any particular Client? Does this mean that a retained message’s expiry timer gets restarted every time it is delivered to a new Client? That doesn’t make much sense. Surely it is up to the publisher of the retained message to refresh it periodically if that is what is desired, or remove it when it is too old by sending an empty message to the same topic.

I feel the statement in 3.3.1.3 is simply in error, and retained messages should not be exposed to Message Expiry.

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]