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

Keith Wall commented on QPID-8106:
----------------------------------

The problem is that when the queue and exchanges are recovered from the 
configuration store, the {{postSetAlternateBinding}} methods tries to reunite 
the object with its alternate binding using {{getAttainedMessageDestination}}.  
However, the code is defective as at this stage (resolution), the queues and 
exchanges won't have yet transitioned to their desiredState.   This means the 
configuration thread will block for 5 seconds and then time out, logging the 
warning.  The defect is masked by the effects of the open phase: it also 
reunites the object with its alternate (AbstractQueue#onOpen), but it uses 
{{getOpenedMessageDestination}} which does not care about the target object's 
state.

In general there is some confusion in the code-base about responsibilities of 
beforeSet/afterSet resolution-time methods and the responsibilities of the open 
phase.
 

> [Broker-J] [AltBinding] On virtualhost recovery message "Gave up waiting for 
> Queue 'xxxx' to attain state" may be written to the log and startup delayed 
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8106
>                 URL: https://issues.apache.org/jira/browse/QPID-8106
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: qpid-java-broker-7.0.0, qpid-java-broker-7.0.1
>            Reporter: Keith Wall
>            Priority: Major
>             Fix For: qpid-java-broker-7.0.2
>
>
> If as an operator I create a queue or exchange with an alternate binding, on 
> restart of the virtualhost the following message may be seen in the log:
> {noformat}
> 2018-02-21 10:43:52,707 WARN  [VirtualHostNode-default-Config] 
> (o.a.q.s.m.AbstractConfiguredObject) - Gave up waiting for Queue 'queue2' to 
> attain state. Check object's state via Management.
> {noformat}
> The startup of the virtualhost is delayed (potentially 5 seconds per queue or 
> exchange with an alternate binding), but there is otherwise no other 
> functional impact.  'Dead lettering' with still operate normally.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to