[ 
https://issues.apache.org/jira/browse/QPID-6428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14361993#comment-14361993
 ] 

Keith Wall edited comment on QPID-6428 at 3/14/15 7:57 PM:
-----------------------------------------------------------

One question on this, why does 
org.apache.qpid.server.queue.AbstractQueue#changeAttribute retain the 
responsibility to cause a store update?    I guess this was an oversight.  
Interestingly, it seems to be causing a (the?) spurious SSRE as it tries to 
update an (queue) object in the store that has undergone a failure during 
creation and so does not exist.  SortedQueueTest#testAutoAckSortedQueue 
demonstrates this problem.  (The test explicitly creates a SortedQueue, then 
later on creating a consumer creates a StandardQueue of the same name by side 
effect.  It is the latter queue declare that triggers the SSRE).  

{noformat}
2015-03-14 19:33:49,020 ERROR [VirtualHostNode-test-Configuration-Thread] 
(util.ServerScopedRuntimeException) - Record with id 
14f56ae2-175d-49b6-a332-cb41604bc7bc does not exist
{noformat}

I also now see why the SSRE is not causing the Broker to go down.  In this 
case, the SSRE is being thrown within 
org.apache.qpid.server.model.AbstractConfiguredObject.CreateExceptionHandler#handleException
 but it is then lost by the handler rethrowing the original exception 
(DuplicateNameException in this case) in the finally block.


was (Author: k-wall):
One question on this, why does 
org.apache.qpid.server.queue.AbstractQueue#changeAttribute retain the 
responsibility to cause a store update?    I guess this was an oversight.  
Interestingly, it seems to be causing a (the?) spurious SSRE as it tries to 
update an (queue) object in the store that has undergone a failure during 
creation and so does not exist.  SortedQueueTest#testAutoAckSortedQueue 
demonstrates this problem.  (The test explicitly creates a SortedQueue, then 
later on creating a consumer create a StandardQueue of the same name by side 
effect.  It is the latter queue declare that triggers the SSRE).  

{noformat}
2015-03-14 19:33:49,020 ERROR [VirtualHostNode-test-Configuration-Thread] 
(util.ServerScopedRuntimeException) - Record with id 
14f56ae2-175d-49b6-a332-cb41604bc7bc does not exist
{noformat}

I also now see why the SSRE is not causing the Broker to go down.  In this 
case, the SSRE is being thrown within 
org.apache.qpid.server.model.AbstractConfiguredObject.CreateExceptionHandler#handleException
 but it is then lost by the handler rethrowing the original exception 
(DuplicateNameException in this case) in the finally block.

> [Java Broker] Use StoreConfigurationChangeListener to manage storage of all 
> configured objects
> ----------------------------------------------------------------------------------------------
>
>                 Key: QPID-6428
>                 URL: https://issues.apache.org/jira/browse/QPID-6428
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Rob Godfrey
>            Assignee: Rob Godfrey
>
> Currently configured objects in the broker store use the change listener to 
> keep the store updated, whereas objects in the virtual host store use 
> explicit calls to the config store within the configured object code itself.
> We should only have one mechanism for managing the storage of configured 
> objects.



--
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