Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.30
-
None
-
Qpid C++ client
Built from source from Trunk (rev 1638936)
Running on Fedora 20 (guest OS).Qpid Java Broker
Trunk (rev 1638936)
Running on Mac OS X
Description
Running the Qpid C++ client examples client/server against a clean Java Broker ends with the following error being emitted by the server example.
2014-11-13 23:20:09 [Client] debug treating target address as queue: 8564d8c8-1fc3-4a96-bb04-4e21795049e2#;{node:{type:queue}} 2014-11-13 23:20:09 [Network] trace SENT [[10.211.55.15:55482-192.168.1.6:5672]]: Frame[BEbe; channel=1; {QueueDeclareBody: queue=8564d8c8-1fc3-4a96-bb04-4e21795049e2#; alternate-exchange=; passive=1; arguments={}; }] 2014-11-13 23:20:09 [Network] trace RECV [[10.211.55.15:55482-192.168.1.6:5672]]: Frame[BEbe; channel=1; {ExecutionExceptionBody: error-code=405; command-id=8; description=Cannot declare queue('8564d8c8-1fc3-4a96-bb04-4e21795049e2#'), as exclusive queue with same name declared on another session; }] 2014-11-13 23:20:09 [System] debug Exception constructed: Cannot declare queue('8564d8c8-1fc3-4a96-bb04-4e21795049e2#'), as exclusive queue with same name declared on another session 2014-11-13 23:20:09 [Client] warning Exception received from broker: resource-locked: Cannot declare queue('8564d8c8-1fc3-4a96-bb04-4e21795049e2#'), as exclusive queue with same name declared on another session [caused by 8 \x00:\x00] resource-locked: Cannot declare queue('8564d8c8-1fc3-4a96-bb04-4e21795049e2#'), as exclusive queue with same name declared on another session
It appears that both the client and server declare the temporary queue for the response:
(client) 2014-11-13 23:20:09 [Network] trace SENT [[10.211.55.15:55483-192.168.1.6:5672]]: Frame[BEbe; channel=1; {QueueDeclareBody: queue=8564d8c8-1fc3-4a96-bb04-4e21795049e2#; alternate-exchange=; exclusive=1; auto-delete=1; arguments={}; }]
(server) 2014-11-13 23:20:09 [Network] trace SENT [[10.211.55.15:55482-192.168.1.6:5672]]: Frame[BEbe; channel=1; {QueueDeclareBody: queue=8564d8c8-1fc3-4a96-bb04-4e21795049e2#; alternate-exchange=; passive=1; arguments={}; }]
The error suggests a behaviour difference between CPP and Java Broker around the handling of the passive flag.
I am running:
./server 192.168.1.6:5672 '{username:guest,password:guest}' ./client 192.168.1.6:5672 '{username:guest,password:guest}'
with QPID_LOG_ENABLE set for tracing.
export QPID_LOG_ENABLE="trace+"
Java Broker is out of the box i.e. default Auth Provider (Plain) and default password db.
I get no error when running the same programs against the CPP broker.