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

 


Help: OASIS Mailing Lists Help | MarkMail Help

mqtt message

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


Subject: [OASIS Issue Tracker] (MQTT-310) Treat invalid topic alias as a protocol error.


    [ https://issues.oasis-open.org/browse/MQTT-310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63715#comment-63715 ] 

Ed Briggs commented on MQTT-310:
--------------------------------

I think there are some other loose ends on error handling for topic registration (which I'm trying to distill). 

1.) First among these is that we really need to specify very clearly when the topic<-> token registration and replacement of the token with the topic take place.  Some examples:  using QoS 2 delivery Method  A,  QoS 0 and 1 messages may overtake of QoS 2 messages. So it is possible that a QoS 2 message that establishes the topic mapping may arrive at the receiver later than subsequently send QoS 0 or 1 messages sent using a topic token.  This can be avoided by saying that for either Method A or B, the registration of the topic token occurs when the PUBLISH arrives (and not when the PUBREC is sent or the PUBREL is received) or several race conditions occur.  For example, if you're in the middle of performing the token->topic replacement on the receive side AND another PUBLISH arrives which alters that mapping, there is a race condition. It also means we have to specify that the original topic (and not the token) needs to be on unacknowledged message queue.  

2.) I would also broaden your statement above that any condition that causes the topic registration to fail at the receiver must close the transport connection, or the  Sending mapping will not match the receiving mapping, causing delivery to the wrong topic, or interleaving of unrelated data streams.

3.) We are now contemplating discarding packets in some cases (e.g. if A server knows the message is too big for the receiver, especially with QoS 0). This would break the integrity of the topic mapping.

I imagine there are others as well.

> Treat invalid topic alias as a protocol error.
> ----------------------------------------------
>
>                 Key: MQTT-310
>                 URL: https://issues.oasis-open.org/browse/MQTT-310
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5
>            Reporter: Andrew Banks
>
> Issue 269 MQTT-SN Feature: Topic Registration allows the protocol to continue where an invalid topic alias has been used.
> The network is required to provided an in order lossless connection so the only possible causes of an invalid alias are an incorrect implementation or the sending of publications by the client before the connack has been received informing it of the servers maximum topic alias value. 
> Continuing the message flow risks data loss. In all cases where an invalid topic alias is received the receiver should disconnect with a 130	0x82	Protocol error disconnect code.



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


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