-
15. Re: Message Redistribution of Persisted Messages on Boot
timfox Aug 1, 2010 4:45 AM (in response to timfox)<address-setting match="jms#">
What happens if you try:<address-setting match="jms.#">
? -
17. Re: Message Redistribution of Persisted Messages on Boot
steven.landers Aug 1, 2010 9:55 AM (in response to timfox)Thanks for your help! That was definitely something I should change.
The bad news = I actually moved the redistribution setting under # while I was trying to rule out various configuration mistakes. I now added it under a jms.# address setting, but it seems to have no effect. That is definitely one reason why it wouldn't be working, however.
<address-settings> <!--default for catch all--> <address-setting match="#"> <dead-letter-address>jms.queue.DLQ</dead-letter-address> <expiry-address>jms.queue.ExpiryQueue</expiry-address> <max-size-bytes>10485760</max-size-bytes> <message-counter-history-day-limit>10</message-counter-history-day-limit> <address-full-policy>BLOCK</address-full-policy> </address-setting> <address-setting match="jms.#"> <redelivery-delay>10000</redelivery-delay> <max-delivery-attempts>10</max-delivery-attempts> <redistribution-delay>0</redistribution-delay> </address-setting> </address-settings>
I'm using 2.1.1 currently - I believe that's the latest version, outside of a dev release.
Other perhaps-pertinent information:
- I'm deploying my queues to BOTH core AND hornetq-jms.xml - would that matter?
- The way I'm moving the consumers to another Node is by bouncing the Node with consumers
- I'm using hornetq as the primary JMS provider for JBoss 5.x
- The nodes are defined via explicit list of TCP nodes (related to HA changes for 2.2?)
Again, thanks tremendously for your time -
-
18. Re: Message Redistribution of Persisted Messages on Boot
steven.landers Aug 1, 2010 3:44 PM (in response to timfox)When I swap the consumers from the consumer side, and not by restarting the Node, I get this on the Node that had the consumers prior to swapping. This looks like good information, as it seems to be related to doConsumerCreated:
2010-08-01 19:37:39,784 ERROR [org.hornetq.core.server.cluster.impl.ClusterConnectionImpl] (Thread-2 (group:HornetQ-client-global-threads-33181482)) Failed to handle messagejava.lang.IllegalStateException: Cannot find binding for jms.queue.globalRecordingTranscoding47bfd926-946f-11df-8727-4040d8b1baccat org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.doConsumerCreated(ClusterConnectionImpl.java:774)at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.onMessage(ClusterConnectionImpl.java:568)at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:823)at org.hornetq.core.client.impl.ClientConsumerImpl.access$100(ClientConsumerImpl.java:46)at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:941)at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:96)at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)at java.lang.Thread.run(Thread.java:619) -
19. Re: Message Redistribution of Persisted Messages on Boot
steven.landers Aug 1, 2010 4:05 PM (in response to timfox)I see this in the JMX console under ClusterConnection:
NODE A:
IP = globalqueuenode1 / 10.177.160.24
NODE ID:
47bfd926-946f-11df-8727-4040d8b1bacc NODES:
{0=globalqueuenode2/10.177.160.113:5445}
NODE B:
IP = globalqueuenode2 / 10.177.160.113
NODE ID:
47bfd926-946f-11df-8727-4040d8b1bacc NODES:
{0=globalqueuenode1/10.177.160.24:5445}
I don't like that the NODE ID is the same. It seems like that should be different.
-
20. Re: Message Redistribution of Persisted Messages on Boot
steven.landers Aug 1, 2010 6:39 PM (in response to steven.landers)SOLVED!
Originally (a week ago), I tried to set up these two nodes as Live/Backup Pairs. To failback, the instructions indicate this:
"To resynchonize the pair as a working live backup pair again, both servers need to be stopped, the data copied from the live node to the backup node and restarted again."
I interpreted this to mean the "entire data directory". In effect, I copied all the information, including bindings, cluster Node IDs, etc... onto the other Server. I realized this after the Node IDs appeared to be the same.
In effect, I set myself up to fail. Although the configuration was fine, redistribution (I'm sure along with other clustering functionality) could not work. I re-installed JBoss 5.x on both Nodes, and re-installed HornetQ and configured it again.
Now it works.
Thanks! Let me know if you have any questions about my configuration. Redistribution works!