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

Keith Wall commented on QPID-6503:
----------------------------------

I think spawning a thread to await the future is the wrong approach.

I think this defect highlights a deeper problem - the relationship between 
server.Broker/BrokerAdapter for organising a shutdown due to errored children 
is overly complex.   We can simplify the code; the o.a.q.s.Broker could be 
responsible for checking the configured object hierarchy for errors once open 
call has completed.  If it finds errors, then it can cause shutdown.  This 
would eliminate the need for call back via BrokerShutdownProvider and avoid the 
task executor awaiting for itself.




> IllegalStateException can be reported on Broker shutdown due to an attempt to 
> submit a configuration task into shutdown executor service
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-6503
>                 URL: https://issues.apache.org/jira/browse/QPID-6503
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>            Reporter: Alex Rudyy
>            Assignee: Keith Wall
>             Fix For: 6.0 [Java]
>
>
> Here are the stack traces for the issue reported whilst running the system 
> tests
> {noformat}
> Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.074 sec - 
> in org.apache.qpid.transport.MaxFrameSizeTest
> Thread terminated due to uncaught exceptionjava.lang.IllegalStateException: 
> Task executor is not in ACTIVE state
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.checkState(TaskExecutorImpl.java:308)
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:136)
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject.doOnConfigThread(AbstractConfiguredObject.java:498)
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject.closeAsync(AbstractConfiguredObject.java:644)
>       at org.apache.qpid.server.Broker.shutdown(Broker.java:113)
>       at org.apache.qpid.server.Broker.shutdown(Broker.java:97)
>       at org.apache.qpid.server.Broker$ShutdownService$1.run(Broker.java:373)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:360)
>       at org.apache.qpid.server.Broker$ShutdownService.run(Broker.java:367)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}
> Another test
> {noformat}
> Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - 
> in org.apache.qpid.client.SyncPublishTest
> Thread terminated due to uncaught exceptionjava.lang.IllegalStateException: 
> Task executor is not in ACTIVE state
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.checkState(TaskExecutorImpl.java:308)
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:136)
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject.doOnConfigThread(AbstractConfiguredObject.java:498)
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject.closeAsync(AbstractConfiguredObject.java:644)
>       at org.apache.qpid.server.Broker.shutdown(Broker.java:113)
>       at org.apache.qpid.server.Broker.shutdown(Broker.java:97)
>       at org.apache.qpid.server.Broker$ShutdownService$1.run(Broker.java:373)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:356)
>       at org.apache.qpid.server.Broker$ShutdownService.run(Broker.java:367)
>       at java.lang.Thread.run(Thread.java:724)
> {noformat}



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