qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Haoliang Chen <chl41...@gmail.com>
Subject Re: 0.30 C++ Broker: MsgDrop in topic exchanges' dynamic route
Date Thu, 23 Jul 2015 06:36:53 GMT
The result is easier to reproduce if the dest broker was
set --default-queue-limit 10240.

And the dest broker will throw:
2015-07-23 14:31:43 [Broker] warning Exchange My.topic cannot deliver to
 queue My.topic_284ad1f5-b871-4c13-9a59-f1d6319b8286:
resource-limit-exceeded: Maximum depth exceeded
on My.topic_284ad1f5-b871-4c13-9a59-f1d6319b8286: current=[count: 8, size:
9152], max=[size: 10240]
(/home/MQ/qpid-cpp-0.32/src/qpid/broker/Queue.cpp:1628)

As you see, this problem also happened on 0.32 Brokers.

2015-07-22 17:33 GMT+08:00 Haoliang Chen <chl41993@gmail.com>:

> Hello all,
>
> I was attempting to establish a reliable route between two exchanges on
> two brokers, but
> failed. It seem like the packages start to be dropped by the source broker
> once its buffer
> was full. I want the source broker stop to recive if its buffer was full.
>
> I have a federation consist of two 0.30 brokers on different computers,
> donate by B1 and B2.
> Both run on the same config,
>
> auth=no
> realm=QPID
> data-dir=/home/MQ/broker-data/
>
> And I new a exchange on both brokers using the following command:
> qpid-config -b B1 add exchange topic My.topic --durable
> qpid-config -b B2 add exchange topic My.topic --durable
>
> Then I add route:
> qpid-route -d --ack=10 dynamic add B1 B2 My.topic
> qpid-route -d --ack=10 dynamic add B2 B1 My.topic
>
> Then I start to recived from B1 with the 0.32 qpid-recieve on Windows:
> qpid-receive -b B1 -a My.topic --verify-sequence --print-content 0
> --timeout 100
> --report-every 100000
>
> And I start to flood B2 with the 0.32 qpid-send on Windows:
> qpid-send -b B2 -a My.topic -m 0 --durable yes --content-size 10240
> --report-every 100000
>
> Not long after, the qpid-receive stop and I Got:
> qpid-receive: Gap in sequence numbers 18987-19742
> (..\..\..\qpid-cpp-0.32\src\te
> sts\qpid-receive.cpp:172)
>
> Meanwhile the qpid-send keep running and sending. The Task Manager shown a
> static outgoing
> rate.
>
> Here are the output of #qpid-stat -e -b B1
> Exchanges
>   exchange            type     dur  bind  msgIn  msgOut  msgDrop  byteIn
>  byteOut  byteDrop
>
> ===========================================================================================
>                       direct           2     0      0       0        0
>   0        0
>   My.topic            topic    Y       0   110k  29.8k   81.1k    1.14g
>  307m     835m
> ...
>
> Here are the output of #qpid-stat -e -b B2
> Exchanges
>   exchange            type     dur  bind  msgIn  msgOut  msgDrop  byteIn
>  byteOut  byteDrop
>
> ===========================================================================================
>                       direct           2     0      0       0        0
>   0        0
>   My.topic            topic    Y       0  29.6k  29.6k      0      306m
>  306m       0
> ...
>
> And the network info:
> WindowsClient to B1/B2 is faster than B1/B2 to WindowsClient;
> B1/B2 is connected to the same switch.
>
> If I send to and receive form the same broker, it works well. No msg was
> lost, very reliable.
> Incomming message will be rejected or jammed once the broker's buffer was
> full. The Task
> Maneger shown pauses on outgoing rate.
>
> I want the federation behave like that, jam the sender once the broker's
> buffer was full and
> don't drop any message. What did I miss?
>
> Sorry for the english, I am not a native english speaker.
>
> Harris
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message