On 09/20/2011 06:19 PM, Brandon Pedersen wrote:
OK, so I was looking at the logs on the java side, it appears to be a
problem there, when I first add the route, the following shows up in
the log:

2011-09-20 11:14:16,959 INFO  [MINANetworkDriver(Acceptor)-4] (Log4jMessageLogge
r.java:72) - [con:1(null@/xxx.xxx.xxx.xxx:58351/localhost)] CON-1001 :
Open : Clie
nt ID : null : Protocol Version : 0-10
2011-09-20 11:14:41,820 ERROR [MINANetworkDriver(Acceptor)-5] (MINANetworkDriver
.java:315) - Exception thrown and no ProtocolEngine to handle it
org.apache.qpid.transport.ProtocolViolationException: Received frames for an alr
eady dettached session
         at org.apache.qpid.transport.Connection.dispatch(Connection.java:408)
         at 
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegat
e.java:64)
         at 
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegat
e.java:40)
         at 
org.apache.qpid.transport.MethodDelegate.sessionAttached(MethodDelega
te.java:68)
         at 
org.apache.qpid.transport.SessionAttached.dispatch(SessionAttached.ja
va:96)
         at 
org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelega
te.java:49)
         at 
org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelega
te.java:40)
         at org.apache.qpid.transport.Method.delegate(Method.java:163)
         at org.apache.qpid.transport.Connection.received(Connection.java:369)
         at 
org.apache.qpid.server.transport.ServerConnection.received(ServerConn
ection.java:204)
         at 
org.apache.qpid.server.transport.ServerConnection.received(ServerConn
ection.java:52)
......snip......

This appears to be a bug in the c++ broker, which for push routes is sending a session-attached rather than a session-attach. That violates the 0-10 protocol.

I also tried to do a pull route from the java side and got a different
exception:

2011-09-20 11:17:16,682 INFO  [MINANetworkDriver(Acceptor)-8] (Log4jMessageLogge
r.java:72) - [con:2(null@/xxx.xxx.xxx.xxx:22891/localhost)/ch:1]
[vh(/localhost)/e
x(management/qpid.management)/qu(topic-NOVELL-4OFTOTK4.16124.1)/rk(console.event
.*.*.org.apache.qpid.broker.agent)] BND-1001 : Create
2011-09-20 11:17:16,766 ERROR [MINANetworkDriver(Acceptor)-2] (MINANetworkDriver
.java:315) - Exception thrown and no ProtocolEngine to handle it
java.lang.NullPointerException
         at 
org.apache.qpid.qmf.schema.BrokerSchema$BrokerClass$ConnectMethodInvo
cation.execute(BrokerSchema.java:825)
         at 
org.apache.qpid.qmf.schema.BrokerSchema$BrokerClass$ConnectMethodInvo
cation.execute(BrokerSchema.java:786)
         at 
org.apache.qpid.qmf.QMFMethodRequestCommand.process(QMFMethodRequestC
ommand.java:61)
         at 
org.apache.qpid.qmf.ManagementExchange$ManagementQueue.enqueue(Manage
mentExchange.java:109)
         at 
org.apache.qpid.server.transport.ServerSession$1.postCommit(ServerSes
sion.java:181)
         at 
org.apache.qpid.server.txn.AutoCommitTransaction.enqueue(AutoCommitTr
ansaction.java:212)
         at 
org.apache.qpid.server.transport.ServerSession.enqueue(ServerSession.
java:170)
         at 
org.apache.qpid.server.transport.ServerSessionDelegate.messageTransfe
r(ServerSessionDelegate.java:332)
         at 
org.apache.qpid.server.transport.ServerSessionDelegate.messageTransfe
r(ServerSessionDelegate.java:96)
         at 
org.apache.qpid.transport.MessageTransfer.dispatch(MessageTransfer.ja
va:108)
         at 
org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.jav
a:50)
         at 
org.apache.qpid.server.transport.ServerSessionDelegate.command(Server
SessionDelegate.java:112)
         at 
org.apache.qpid.server.transport.ServerSessionDelegate.command(Server
SessionDelegate.java:96)
         at org.apache.qpid.transport.Method.delegate(Method.java:159)
         at org.apache.qpid.transport.Session.received(Session.java:528)
         at org.apache.qpid.transport.Connection.dispatch(Connection.java:404)
         at 
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegat
e.java:64)
         at 
org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegat
....snip....

This on the face of it is an internal error in the java broker when handling the QMF request from qpid-route. I don't know enough about the code in question to say where the fault lies exactly. (Could it be a virtual hosts issue for example?)

Any ideas? should I submit a bug?

Yes, please . Ideally two separate bugs for each of these issues.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to