You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Eric Cheung <er...@gmail.com> on 2014/02/05 22:09:35 UTC

Apollo MQTT QoS 2 issue

Hi

I am starting to use Apollo with MQTT, and in testing with Paho and
Mosquitto clients I am seeing something strange.  When publisher sends
PUBLISH with qos=2, Apollo changes it to qos=0.

       Publisher   Apollo   Subscriber

                      <-- SUBSCRIBE with qos=2
                      --> SUBACK

 PUBLISH qos=2 -->     --> PUBLISH qos=0
       PUBREC  <--
        PUBREL -->
        PUBCOMP <--


So Apollo is doing the exactly once exchange with publisher, but somehow
downgrades to at most once with the subscriber.  Am I doing something wrong
here?

Thanks in advance
Eric Cheung

Re: Apollo MQTT QoS 2 issue

Posted by Eric Cheung <er...@gmail.com>.
Hi, haven't received any response so just want to bump this.

I see there is a test case called MqttQosTest that tests all combinations
of publisher and subscriber QoS.  However, the assertion:

38      should_receive("1", topic)

does not actually test the qos level received.  I looked at packet capture
and confirmed that in the qos/EXACTLY_ONCE/EXACTLY_ONCE case, the PUBLISH
was downgraded from qos=2 to qos=0 when it goes through Apollo.  So it does
seem like this is broken.

Is anyone using Apollo with MQTT qos higher than 0?

Thanks
Eric


On Wed, Feb 5, 2014 at 4:09 PM, Eric Cheung <er...@gmail.com>wrote:

> Hi
>
> I am starting to use Apollo with MQTT, and in testing with Paho and
> Mosquitto clients I am seeing something strange.  When publisher sends
> PUBLISH with qos=2, Apollo changes it to qos=0.
>
>        Publisher   Apollo   Subscriber
>
>                       <-- SUBSCRIBE with qos=2
>                       --> SUBACK
>
>  PUBLISH qos=2 -->     --> PUBLISH qos=0
>        PUBREC  <--
>         PUBREL -->
>         PUBCOMP <--
>
>
> So Apollo is doing the exactly once exchange with publisher, but somehow
> downgrades to at most once with the subscriber.  Am I doing something wrong
> here?
>
> Thanks in advance
> Eric Cheung
>