I have been writing some test cases for an application at work and have discovered what appears to be an issue with the start up initialization order of the 0.26 c++ broker. Basically durable routes are not recreated on startup because the transport factory does not contain the tcp plugin at the time the route is re-created.

The error message I am seeing, when stopping and then re-starting a broker with a durable dynamic route is

*2014-05-02 15:26:20 [Broker] error Link connection to 127.0.0.1:8001 failed: Unsupported transport type: tcp (/home/clive/qpid/qpid-cpp-0.26/src/qpid/broker/Broker.cpp:1253)*

To get the error I run two brokers

qpidd --auth no --port 8001 --data-dir /home/clive/qpid_8001
qpidd --auth no --port 8002 --data-dir /home/clive/qpid_8002

and then run the following qpid-config commands.

qpid-config -a 127.0.0.1:8001 add exchange topic test.transient --durable
qpid-config -a 127.0.0.1:8002 add exchange topic test.transient --durable
qpid-route -d dynamic add 127.0.0.1:8002 127.0.0.1:8001 test.transient
qpid-route -d dynamic add 127.0.0.1:8001 127.0.0.1:8002 test.transient

I then stop one of the brokers and re-start it. The output from the restarted broker is shown below.

[clive@localhost Desktop]$ /home/clive/qpid/install/qpid-0.26/sbin/qpidd --auth no --port 8002 --data-dir /home/clive/qpid_8002 2014-05-02 15:26:20 [Security] notice SSL plugin not enabled, you must set --ssl-cert-db to enable it.
2014-05-02 15:26:20 [Store] notice Journal "TplStore": Created
2014-05-02 15:26:20 [Store] notice Store module initialized; store-dir=/home/clive/qpid_8002 2014-05-02 15:26:20 [Store] warning Message store plugin: No storage providers available. *2014-05-02 15:26:20 [Broker] error Link connection to 127.0.0.1:8001 failed: Unsupported transport type: tcp (/home/clive/qpid/qpid-cpp-0.26/src/qpid/broker/Broker.cpp:1253)* 2014-05-02 15:26:20 [Broker] notice SASL disabled: No Authentication Performed
2014-05-02 15:26:20 [Network] notice Listening on TCP/TCP6 port 8002
2014-05-02 15:26:20 [Broker] notice Broker running

Running a debug version of the broker, I see an attempt to recreate the route at Broker.cpp:1253 is called before the transport factory is populated by the tcp plugin at TCPIOPPlugin.cpp:40.

I have searched through JIRA, but not found anything related. Is this an issue or am I just doing something wrong?

Clive

Reply via email to