-
Bug
-
Resolution: Not a Bug
-
Critical
-
None
-
AMQ 7.2.0.GA
-
Release Notes, Compatibility/Configuration, User Experience
Address full policies do not work for DROP, BLOCK, FAIL (most probably PAGE works, as it is a default one). I have tried Core, AMQP and Openwire protocols.
0) Set address-full-policy to DROP/FAIL/BLOCK, when max-size-bytes for address is hit (1mB) 1048576
1) Create new queue (with applying limits to it)
2) Send 20 messages with 100kB payload (1 msg ~120kb)
3) Receive as many messages as possible (receive 11 is OK). 11 msgs are received. OK
4) Send 20 messages with 300kB payload.
5) Receive as many messages as possible (receive 4 is OK). 20 msgs are received. BUG
6) Repeat 2+3 -> limits apply.
7) Send 1.1mB message -> limits do not apply.
<address-settings> <!-- if you define auto-create on certain queues, management has to be auto-create --> <address-setting match="activemq.management#"> <dead-letter-address>DLQ</dead-letter-address> <expiry-address>ExpiryQueue</expiry-address> <redelivery-delay>0</redelivery-delay> <!-- with -1 only the global-max-size is in use for limiting --> <max-size-bytes>-1</max-size-bytes> <message-counter-history-day-limit>10</message-counter-history-day-limit> <address-full-policy>PAGE</address-full-policy> <auto-create-queues>true</auto-create-queues> <auto-create-addresses>true</auto-create-addresses> <auto-create-jms-queues>true</auto-create-jms-queues> <auto-create-jms-topics>true</auto-create-jms-topics> </address-setting> <!--default for catch all--> <address-setting match="#"> <dead-letter-address>DLQ</dead-letter-address> <expiry-address>ExpiryQueue</expiry-address> <redelivery-delay>0</redelivery-delay> <!-- with -1 only the global-max-size is in use for limiting --> <max-size-bytes>1048576</max-size-bytes> <message-counter-history-day-limit>10</message-counter-history-day-limit> <address-full-policy>DROP</address-full-policy> <auto-create-queues>true</auto-create-queues> <auto-create-addresses>true</auto-create-addresses> <auto-create-jms-queues>true</auto-create-jms-queues> <auto-create-jms-topics>true</auto-create-jms-topics> </address-setting> </address-settings>
$ ll -hS /tmp/ total 2.5M -rw-r--r--. 1 root root 1.1M Feb 19 11:06 1.1mB -rw-r--r--. 1 root root 512K Feb 19 10:49 512kb -rw-r--r--. 1 root root 400K Feb 19 11:42 400kB -rw-r--r--. 1 root root 300K Feb 19 11:10 300kB -rw-r--r--. 1 root root 100K Feb 19 10:39 100kb
Openwire Example (seems like OW has big headers, only 4 messages fit in.. 100kB payload+150kB headers?)
$ java -jar /var/dtests/node_data/clients/amqx.jar queue --host 10.37.145.185:1099 --username admin --password admin --action add --name lalaQ_openwire Queue 'lalaQ_openwire' created $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_openwire --count 20 --msg-content-from-file /tmp/100kB <20 msgs out> $ java -jar /var/dtests/node_data/clients/aoc7.jar receiver --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_openwire --count 0 {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-44066-1519038502102-1:1:1:1:1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038502401, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-44066-1519038502102-1:1:1:1:2', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038502470, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-44066-1519038502102-1:1:1:1:3', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038502491, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-44066-1519038502102-1:1:1:1:4', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038502514, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''}
Limits apply well. Let's send a bigger message now. 20x 300kB
[2,root@r7x1_mtoth clients]$ java -jar /var/dtests/node_data/clients/aoc7.jar sender --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_openwire --count 20 --msg-content-from-file /tmp/300kB {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639392, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:2', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639504, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:3', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639577, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:4', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639622, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:5', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639661, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:6', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639714, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:7', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639752, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:8', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639796, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:9', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639838, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:10', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639877, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:11', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639916, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:12', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639970, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:13', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640030, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:14', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640077, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:15', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640138, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:16', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640188, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:17', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640224, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:18', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640290, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:19', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640364, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:20', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640406, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} [0,root@r7x1_mtoth ~]$ java -jar /var/dtests/node_data/clients/aoc7.jar receiver --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_openwire --count 0 {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639392, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:2', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639504, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:3', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639577, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:4', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639622, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:5', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639661, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:6', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639714, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:7', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639752, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:8', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639796, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:9', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639838, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:10', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639877, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:11', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639916, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:12', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038639970, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:13', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640030, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:14', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640077, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:15', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640138, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:16', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640188, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:17', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640224, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:18', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640290, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:19', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640364, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-46212-1519038639087-1:1:1:1:20', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519038640406, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''}
BUG
Send again 20x100kB message, 4 are received, the rest is dropped. OK
If sent 5x 1.1mB message all were received by consumer. BUG
Core client completely ignores DROP policy.
$ java -jar /var/dtests/node_data/clients/acce.jar sender --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_core --count 20 --msg-content-from-file /tmp/100kb --msg-content "#%d" {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'redelivered': False, 'id': 'ID:1d19d619-1566-11e8-a1dc-5254008ddc59', 'user_id':None, 'address': 'lalaQ_core', 'subject': None, 'reply_to': None, 'correlation_id': None, 'content_type': None, 'content_encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1519038895386, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': '0'}, 'content': '#0', 'type': None} ... {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'redelivered': False, 'id': 'ID:1d24366c-1566-11e8-a1dc-5254008ddc59', 'user_id':None, 'address': 'lalaQ_core', 'subject': None, 'reply_to': None, 'correlation_id': None, 'content_type': None, 'content_encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1519038895456, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': '0'}, 'content': '#19', 'type': None} Receiver $ java -jar /var/dtests/node_data/clients/acce.jar receiver --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_core --count 0 {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'redelivered': False, 'id': 'ID:1d19d619-1566-11e8-a1dc-5254008ddc59', 'user_id':None, 'address': 'lalaQ_core', 'subject': None, 'reply_to': None, 'correlation_id': None, 'content_type': None, 'content_encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1519038895386, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': '1'}, 'content': '#0', 'type': None} ..... {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'redelivered': False, 'id': 'ID:1d23e84b-1566-11e8-a1dc-5254008ddc59', 'user_id':None, 'address': 'lalaQ_core', 'subject': None, 'reply_to': None, 'correlation_id': None, 'content_type': None, 'content_encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1519038895454, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': '1'}, 'content': '#18', 'type': None} {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'redelivered': False, 'id': 'ID:1d24366c-1566-11e8-a1dc-5254008ddc59', 'user_id':None, 'address': 'lalaQ_core', 'subject': None, 'reply_to': None, 'correlation_id': None, 'content_type': None, 'content_encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1519038895456, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': '1'}, 'content': '#19', 'type': None}
AMQP
if message content is not empty, DROP policy applies. Otherwise DROP policy is only for fun...
With empty message content 20x 100kB messages are sent, 11 is received - OK expected.
With content specified 20x100kB messages are sent, 20 is received. BUG.
DROP, BLOCK policy is not working as well.
FAIL worked similarly (kicked in with 100kB messages, else not at all). Core ignores such policy
javax.jms.JMSException: AMQ119102: Address "lalaQ_amqp" is full. [condition = failed] at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164) at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117) at org.apache.qpid.jms.provider.amqp.AmqpFixedProducer.processDeliveryUpdates(AmqpFixedProducer.java:244) at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:927) at org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1800(AmqpProvider.java:101) at org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:789) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
It seems like these limits work only the first time. Then they are broken. Openwire + FAIL
$ java -jar /var/dtests/node_data/clients/aoc7.jar sender --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_openwire --count 20 --msg-content-from-file /tmp/100kb {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-43168-1519039995177-1:1:1:1:1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519039995556, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-43168-1519039995177-1:1:1:1:2', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519039995648, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-43168-1519039995177-1:1:1:1:3', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519039995669, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} {'redelivered': False, 'reply_to': None, 'id': 'dhcp-145-185.lab.eng.brq.redhat.com-43168-1519039995177-1:1:1:1:4', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1519039995694, 'address': 'queue://lalaQ_openwire', 'properties': {}, 'content': ''} 12:33:15,752 ERROR Error while sending a message! javax.jms.ResourceAllocationException: Queue is full lalaQ_openwire at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:405) at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1478) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768) at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:277) at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:642) at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:797) at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) at java.lang.Thread.run(Thread.java:745) [1,root@r7x1_mtoth clients]$ [1,root@r7x1_mtoth clients]$ [1,root@r7x1_mtoth clients]$ [1,root@r7x1_mtoth clients]$ java -jar /var/dtests/node_data/clients/aoc7.jar sender --log-msgs dict --broker 10.37.145.185:61616 --conn-username admin --conn-password admin --address lalaQ_openwire --count 20 --msg-content-from-file /tmp/300kB 12:33:21,853 ERROR Error while sending a message! javax.jms.ResourceAllocationException: Queue is full lalaQ_openwire at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:405) at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1478) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768) at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:277) at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:642) at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:797) at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) at java.lang.Thread.run(Thread.java:745)
CORRECT! Finally
But let's read those messages and send there 300kB messages again
<read all msgs from queue>
Send 20x 300kB messages. I sent there 80 of such messages...
- is related to
-
AMQDOC-2164 Broker enqueues fewer MQTT messages than <max-size-bytes> setting permits
- Closed
-
ENTMQBR-3615 Address size is count wrong for messages larger than 100K
- Closed