This seems to be related BTW:

https://issues.apache.org/jira/browse/APLO-336




On Mon, Aug 19, 2013 at 10:17 AM, Christian Posta <christian.po...@gmail.com
> wrote:

> So I can recreate something *similar*.
>
> If I just run it as you describe:
>
> * mosquitto_sub -h 172.16.1.220  -p 61613 -q 1 -c -i my_id -t foo
> * then kill mosquitto_sub
> * run producer > for I in {1..10}; do (mosquitto_pub -h 172.16.1.220 -p
> 61613 -t foo -q 1 -m "$I") done
> * then restart mosquitto_sub
>
> it works just fine....
>
> but if I happen to do this, then I can reproduce what you see on Apollo:
>
> * mosquitto_sub -h 172.16.1.220  -p 61613 -q 1 -c -i my_id -t foo
> * then kill mosquitto_sub
> * run consumer again: mosquitto_sub -h 172.16.1.220  -p 61613 -q 1 -c -i
> my_id -t foo
> * then kill mosquitto_sub
> * run producer > for I in {1..10}; do (mosquitto_pub -h 172.16.1.220 -p
> 61613 -t foo -q 1 -m "$I") done
> * then restart mosquitto_sub
>
> Seems to wok on mosquitto. I'll take a closer look when I get a sec....
>
>
>
>
> On Fri, Aug 16, 2013 at 2:21 PM, Leonardo Bragatti <
> lbraga...@tegris.com.br> wrote:
>
>> Hi there,
>>
>> I'm struggling against a possible issue using Apollo MQTT and it's durable
>> subscriptions. My intention is to synchronize a client using QOS 1.
>>
>> Here is my setup:
>>
>> Apollo Dev Snapshot, based on: 20130803 tarball
>> Mosquitto (Pub, Sub and Lib) 1.2.0
>>
>> I noticed that some client messages were on the dsub queue but got stuck
>> there and wouldn't be delivered. I suspected on my custom client and tried
>> some testing using Mosquitto.
>>
>> So, I started by running the mosquitto broker:
>> > mosquitto -p 61613
>>
>> Then (in another terminal, same machine) I started a client using:
>> > mosquitto_sub -h 172.16.1.220  -p 61613 -q 1 -c -i my_id -t foo
>>
>> I killed the mosquito_sub by ctrl-c and published some messages to the foo
>> channel:
>> > for I in {1..10}; do (mosquitto_pub -h 172.16.1.220 -p 61613 -t foo -q 1
>> -m "$I") done
>>
>> Finally, I restarted the mosquito_sub and got all the messages, in order
>> (which is quite important in this application):
>> > mosquitto_sub -h 172.16.1.220  -p 61613 -q 1 -c -i my_id -t foo
>>
>> I also tried having sub and pub running both at the same time, results
>> were
>> as expected. Actually, I even tried killing the mosquitto_sub proccess in
>> the middle of the stream and restarting it again while the mosquitto_pub
>> bash loop was still running. It received all the messages and kept
>> ordering.
>>
>> I then repeated this testing session using the Apollo broker instead of
>> mosquitto. These were my results:
>>
>> 1) In the first test scenario, mosquitto_sub won't receive any messages.
>> They will remain on the dsub forever. I might mention that there's a
>> stranger acquirer unknown on the dsub's web interface and by consulting
>> the
>> dsub's rest API there's indication of consumers position being 11 (or
>> number of messages+1).
>>
>> 2) During the drop during the loop test. I got all the messages that were
>> published when both parties were running, but not those that were still on
>> the dsub and were sent when the mosquitto_sub was down.
>>
>> These results lead me to suspect of Apollo's consumer's position tracking
>> systems on dsubs, which seems not to keep track of the last consumed
>> message properly.
>>
>> Can you reproduce this test or offer an explanation for the diverging
>> behaviors between the mosquitto broker and Apollo?
>>
>> Best Regards,
>>
>> L. Bragatti
>>
>
>
>
> --
> *Christian Posta*
> http://www.christianposta.com/blog
> twitter: @christianposta
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Reply via email to