qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Rudyy (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (QPID-7442) Deleting a virtualhost leaves itself and the children in the configuration store
Date Mon, 07 May 2018 10:10:00 GMT

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

Alex Rudyy updated QPID-7442:
-----------------------------
    Fix Version/s:     (was: qpid-java-broker-7.1.0)
                   qpid-java-broker-7.0.0

> Deleting a virtualhost leaves itself and the children in the configuration store
> --------------------------------------------------------------------------------
>
>                 Key: QPID-7442
>                 URL: https://issues.apache.org/jira/browse/QPID-7442
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>            Reporter: Keith Wall
>            Assignee: Keith Wall
>            Priority: Minor
>             Fix For: qpid-java-broker-7.0.0
>
>
> If I create a BDB  virtualhostnode  (for example) with a ProvidedStore, then delete the
VH the configuration entries corresponding to the VH are left behind in the store.
> * If I immediately restart the Broker, the deleted VH reappears.
> * If I create a new virtualhost in its place (using REST), the creation is seemingly
successful, but on restart the virtuallhostnode goes into ERROR state.
> {noformat}
> 2016-09-29 23:16:27,105 INFO  [Broker-Config] (q.m.c.recovery_start) - [Broker] [vh(/mybdb)/ms(BDBConfigurationStore)]
CFG-1004 : Recovery Start
> 2016-09-29 23:16:27,121 INFO  [Broker-Config] (o.a.q.s.s.GenericStoreUpgrader) - VirtualHost
store has model version 6.1. Number of record(s) 10
> 2016-09-29 23:16:27,126 INFO  [Broker-Config] (q.m.v.created) - [Broker] VHT-1001 : Created
: mybdb
> 2016-09-29 23:16:27,129 INFO  [Broker-Config] (q.m.v.created) - [Broker] VHT-1001 : Created
: mybdb
> 2016-09-29 23:16:27,133 ERROR [Broker-Config] (o.a.q.s.m.AbstractConfiguredObject) -
Failed to open object with name 'mybdb'.  Object will be put into ERROR state.
> org.apache.qpid.server.model.AbstractConfiguredObject$DuplicateNameException: Child of
type ProvidedStoreVirtualHostImplWithAccessChecking already exists with name of mybdb
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.registerChild(AbstractConfiguredObject.java:2129)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.registerWithParents(AbstractConfiguredObject.java:684)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory$GenericUnresolvedConfiguredObject.resolve(AbstractConfiguredObjectTypeFactory.java:139)
~[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory$GenericUnresolvedConfiguredObject.resolve(AbstractConfiguredObjectTypeFactory.java:118)
~[classes/:na]
> 	at org.apache.qpid.server.store.GenericRecoverer.resolveObjects(GenericRecoverer.java:188)
~[classes/:na]
> 	at org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:91)
~[classes/:na]
> 	at org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
~[classes/:na]
> 	at org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
~[classes/:na]
> 	at org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
~[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:240)
[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:157)
[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:182)
[classes/:na]
> 	at org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54) ~[classes/:na]
> 	at org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:615)
~[classes/:na]
> 	at org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:594)
~[classes/:na]
> 	at org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:102)
~[classes/:na]
> 	at org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:167)
~[classes/:na]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_101]
> 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1482)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1461)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1035)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1029)
[classes/:na]
> 	at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319) [guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)
[guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
[guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.ExecutionList.add(ExecutionList.java:101) [guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:170)
[guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1322) [guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1258) [guava-18.0.jar:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.doAttainState(AbstractConfiguredObject.java:1028)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.access$300(AbstractConfiguredObject.java:91)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$7.performAction(AbstractConfiguredObject.java:1014)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$7.performAction(AbstractConfiguredObject.java:1006)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.applyToChildren(AbstractConfiguredObject.java:1269)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.doAttainState(AbstractConfiguredObject.java:1005)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.access$300(AbstractConfiguredObject.java:91)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$1.execute(AbstractConfiguredObject.java:584)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$1.execute(AbstractConfiguredObject.java:571)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:632)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:625)
[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:240)
[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:157)
[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:145)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.doOnConfigThread(AbstractConfiguredObject.java:624)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.openAsync(AbstractConfiguredObject.java:570)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractSystemConfig.activate(AbstractSystemConfig.java:237)
[classes/:na]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_101]
> 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1482)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1461)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1035)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1029)
[classes/:na]
> 	at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319) [guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)
[guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
[guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.ExecutionList.add(ExecutionList.java:101) [guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:170)
[guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1322) [guava-18.0.jar:na]
> 	at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1258) [guava-18.0.jar:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.doAttainState(AbstractConfiguredObject.java:1028)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.access$300(AbstractConfiguredObject.java:91)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$1.execute(AbstractConfiguredObject.java:584)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$1.execute(AbstractConfiguredObject.java:571)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:632)
[classes/:na]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:625)
[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:240)
[classes/:na]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:312)
[classes/:na]
> 	at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_101]
> 	at javax.security.auth.Subject.doAs(Subject.java:360) [na:1.8.0_101]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:305)
[classes/:na]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
> {noformat}
> As a user, the only choice I have to recover is to delete the VHN.  This would be inconvenient,
especially if HA were in use.



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

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


Mime
View raw message