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

Tomas Vavricka closed QPID-8665.
--------------------------------

> [Broker-J] Changing queue exclusive mode throws exception
> ---------------------------------------------------------
>
>                 Key: QPID-8665
>                 URL: https://issues.apache.org/jira/browse/QPID-8665
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: qpid-java-broker-9.1.0
>            Reporter: Daniil Kirilyuk
>            Priority: Minor
>             Fix For: qpid-java-broker-9.2.0
>
>
> If queue has a consumer and exclusive mode is set to CONNECTION, then 
> changing queue exclusive mode to PRINCIPAL or CONTAINER will throw exception 
> below. Then no consumer is able to consume messages from queue and broker's 
> webgui fails to show Edit Queue dialog again.
> Steps to reproduce:
>  * set queue exclusive mode to CONNECTION in broker's webgui
>  * connect to queue
>  * set queue exclusive mode to PRINCIPAL or CONTAINER in broker's webgui
>  * exception should be thrown
> {noformat}
> 2024-01-16T09:30:55,432Z INFO  [VirtualHostNode-default-Config] 
> (q.m.q.update) - [mng:uO4gG/VX(admin@/127.0.0.1:45136)] 
> [vh(/default)/qu(broadcast.CAREX_TESTCALMMACC1.Public)] QUE-1017 : Update : 
> "broadcast.CAREX_TESTCALMMACC1.Public" : FAILURE : 
> {alternateBinding=null,exclusive=PRINCIPAL}
> 2024-01-16T09:30:55,435Z WARN  [qtp398517223-54] 
> (o.a.q.s.m.p.ManagementException) - Unexpected Exception
> java.lang.ClassCastException: class java.lang.String cannot be cast to class 
> java.security.Principal (java.lang.String and java.security.Principal are in 
> module java.base of loader 'bootstrap')
>         at 
> org.apache.qpid.server.queue.AbstractQueue.getOwner(AbstractQueue.java:776)
>         at jdk.internal.reflect.GeneratedMethodAccessor85.invoke(Unknown 
> Source)
>         at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>         at 
> org.apache.qpid.server.model.ConfiguredObjectMethodAttributeOrStatistic.getValue(ConfiguredObjectMethodAttributeOrStatistic.java:68)
>         at 
> org.apache.qpid.server.model.ConfiguredObjectMethodAttribute.getValue(ConfiguredObjectMethodAttribute.java:29)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject.getAttribute(AbstractConfiguredObject.java:1792)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject$9.lambda$getAttributes$0(AbstractConfiguredObject.java:1916)
>         at java.base/java.security.AccessController.doPrivileged(Native 
> Method)
>         at java.base/javax.security.auth.Subject.doAs(Subject.java:361)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject$9.getAttributes(AbstractConfiguredObject.java:1906)
>         at 
> org.apache.qpid.server.store.JsonFileConfigStore.update(JsonFileConfigStore.java:420)
>         at 
> org.apache.qpid.server.configuration.store.StoreConfigurationChangeListener.bulkChangeEnd(StoreConfigurationChangeListener.java:98)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject.bulkChangeEnd(AbstractConfiguredObject.java:3030)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject.changeAttributes(AbstractConfiguredObject.java:3065)
>         at 
> org.apache.qpid.server.queue.AbstractQueue.changeAttributes(AbstractQueue.java:3369)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject$19.setAttributes(AbstractConfiguredObject.java:2914)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject$19.execute(AbstractConfiguredObject.java:2896)
>         at 
> org.apache.qpid.server.model.AbstractConfiguredObject$19.execute(AbstractConfiguredObject.java:2889)
>         at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
>         at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.lambda$call$0(TaskExecutorImpl.java:317)
>         at java.base/java.security.AccessController.doPrivileged(Native 
> Method)
>         at java.base/javax.security.auth.Subject.doAs(Subject.java:361)
>         at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:313)
>         at 
> com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
>         at 
> com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:75)
> {noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to