You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2015/03/14 20:56:38 UTC

[jira] [Comment Edited] (QPID-6428) [Java Broker] Use StoreConfigurationChangeListener to manage storage of all configured objects

    [ 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:56 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 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.


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}

> [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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org