Hello,

I'm trying to get a pure master slave configuration working.  Ideally
I'd like to have the brokers be persistent, but I've cut my
configuration back so that it is as simple as possible and pretty much
matches the example master and slave configuration in the test code
base.  Still I get errors in the following scenario:

1.  Start the master broker.
2.  A producer puts a message on a dynamic queue, but there are not yet
any consumers.
3.  The queue and message on the master are visible via JMX.
4.  Start the slave broker.
5.  The logs indicate that the connection between the master and slave
is established, but the queue and message are not visible on the slave
via JMX.
6.  The producer puts a second message on the same dynamic queue.
7.  The queue on the master now shows a QueueSize of 2.  The queue is
visible on the slave, but the QueueSize is 0.  Also, the slave logs the
following error:

2008-01-29 12:18:49,452 [Thread-7       ] INFO  MasterConnector
- Slave connection between vm://cpl058#0 and
tcp://cpd040.centerpostcorp.com/172.16.55.56:61616 has been established.
2008-01-29 12:25:02,939 [: vm://cpl058#1] ERROR Service
- Async error occurred: java.lang.IllegalStateException: Cannot add a
producer to a session that had not been registered:
ID:cpd040-2812-1201630495225-0:0:1
java.lang.IllegalStateException: Cannot add a producer to a session that
had not been registered: ID:cpd040-2812-1201630495225-0:0:1
        at
org.apache.activemq.broker.TransportConnection.processAddProducer(Transp
ortConnection.java:478)
        at
org.apache.activemq.command.ProducerInfo.visit(ProducerInfo.java:105)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnecti
on.java:281)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConn
ection.java:178)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorre
lator.java:100)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.
java:67)
        at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:20
2)
        at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunn
er.java:98)
        at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner
.java:36)
2008-01-29 12:25:03,189 [: vm://cpl058#1] ERROR Service
- Async error occurred: java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.activemq.broker.region.Queue.send(Queue.java:318)
        at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.jav
a:331)
        at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:43
6)
        at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java
:224)
        at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:125)
        at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDest
inationBroker.java:95)
        at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.
java:135)
        at
org.apache.activemq.broker.TransportConnection.processMessage(TransportC
onnection.java:434)
        at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:6
23)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnecti
on.java:281)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConn
ection.java:178)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorre
lator.java:100)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.
java:67)
        at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:20
2)
        at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunn
er.java:98)
        at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner
.java:36)
2008-01-29 12:25:03,193 [: vm://cpl058#1] ERROR Service
- Async error occurred: java.lang.IllegalStateException: Cannot remove a
producer from a session that had not been registered:
ID:cpd040-2812-1201630495225-0:0:1
java.lang.IllegalStateException: Cannot remove a producer from a session
that had not been registered: ID:cpd040-2812-1201630495225-0:0:1
        at
org.apache.activemq.broker.TransportConnection.processRemoveProducer(Tra
nsportConnection.java:500)
        at
org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:66)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnecti
on.java:281)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConn
ection.java:178)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorre
lator.java:100)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.
java:67)
        at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:20
2)
        at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunn
er.java:98)
        at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner
.java:36)


The broker config files are attached.  The brokers and the producer are
running the 5.1 snapshot from 1/25.  Is there something wrong with my
config, or should I open an issue?

I have tried to get pure master/slave working in 4.1.1, 5.0, and several
5.1 snapshots, and I always get some sort of error.  Has anyone had
success with this feature in any version of ActiveMQ?

Thanks,
Jim

Reply via email to