[ 
https://issues.apache.org/jira/browse/QPID-6872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Keith Wall updated QPID-6872:
-----------------------------
    Description: 
On testing web management console I managed to created 2 kesytores with name 
"test". First I created FileKeystore with name "test" and then I tried to 
create AutoGeneratedSelfSigned  keystore with the same name "test". Creation of 
AutoGeneratedSelfSigned  resulted in ERROR reported by the broker about 
existence of an object with the same name but AutoGeneratedSelfSigned  keystore 
with name "test" was created anyway and stored in configuration store.

(Updated k-wall 2015-12-18) The regression was introduced at 0.30 (work of 
QPID-5710).  Problem is general and affects all child types including queues 
and exchanges.  As the Qpid client's default behaviour is to declare/bind 
queues on creation of a JMS consumer, it is possible that an user may see this 
defect when an application that creates competing consumers is started up for 
the first time.    The consumers would race to create the same queue and in an 
unlucky case two or more would get to call {{o.a.q.c.AMQSession#bindQueue()}}.  
The queue (child) creation is single threaded server side, so the first would 
create the queue, the second would fail with a {{QueueExistsException}} 
internally which o.a.q.s.p.v0_8.AMQChannel#receiveQueueDeclare would ultimately 
interpret as success and send a queue-declare-ok back to the client.  However, 
on the server side, the configuration would be corrupted in the way described 
above, meaning the Broker would fail to restart.  The user could recover (if 
using a JSON based VHN), by editing the store and removing the duplicate queue 
entry.  Message lose would not occur.



  was:
On testing web management console I managed to created 2 kesytores with name 
"test". First I created FileKeystore with name "test" and then I tried to 
create AutoGeneratedSelfSigned  keystore with the same name "test". Creation of 
AutoGeneratedSelfSigned  resulted in ERROR reported by the broker about 
existence of an object with the same name but AutoGeneratedSelfSigned  keystore 
with name "test" was created anyway and stored in configuration store.

(Updated k-The regression was introduced at 0.30 (work of QPID-5710).  Problem 
is general and affects all child types including queues and exchanges.  As the 
Qpid client's default behaviour is to declare/bind queues on creation of a JMS 
consumer, it is possible that an user may see this defect when an application 
that creates competing consumers is started up for the first time.    The 
consumers would race to create the same queue and in an unlucky case two or 
more would get to call {{org.apache.qpid.client.AMQSession#bindQueue()}}.   All 


> [Java Broker] Configured Objects with the same names under one parent can be 
> created via management interfaces
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-6872
>                 URL: https://issues.apache.org/jira/browse/QPID-6872
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.30, 0.32
>            Reporter: Alex Rudyy
>            Assignee: Keith Wall
>            Priority: Blocker
>             Fix For: qpid-java-6.0
>
>
> On testing web management console I managed to created 2 kesytores with name 
> "test". First I created FileKeystore with name "test" and then I tried to 
> create AutoGeneratedSelfSigned  keystore with the same name "test". Creation 
> of AutoGeneratedSelfSigned  resulted in ERROR reported by the broker about 
> existence of an object with the same name but AutoGeneratedSelfSigned  
> keystore with name "test" was created anyway and stored in configuration 
> store.
> (Updated k-wall 2015-12-18) The regression was introduced at 0.30 (work of 
> QPID-5710).  Problem is general and affects all child types including queues 
> and exchanges.  As the Qpid client's default behaviour is to declare/bind 
> queues on creation of a JMS consumer, it is possible that an user may see 
> this defect when an application that creates competing consumers is started 
> up for the first time.    The consumers would race to create the same queue 
> and in an unlucky case two or more would get to call 
> {{o.a.q.c.AMQSession#bindQueue()}}.  The queue (child) creation is single 
> threaded server side, so the first would create the queue, the second would 
> fail with a {{QueueExistsException}} internally which 
> o.a.q.s.p.v0_8.AMQChannel#receiveQueueDeclare would ultimately interpret as 
> success and send a queue-declare-ok back to the client.  However, on the 
> server side, the configuration would be corrupted in the way described above, 
> meaning the Broker would fail to restart.  The user could recover (if using a 
> JSON based VHN), by editing the store and removing the duplicate queue entry. 
>  Message lose would not occur.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to