You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (JIRA)" <ji...@apache.org> on 2018/08/27 15:31:00 UTC

[jira] [Updated] (QPID-8236) [Broker-J] Changing of group name, address or node name in BDB HA virtual host node should be disallowed

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

Alex Rudyy updated QPID-8236:
-----------------------------
    Summary: [Broker-J] Changing of group name, address or node name in BDB HA virtual host node should be disallowed   (was: [Broker-J] Changing of group name in BDB HA virtual host node should be disallowed )

> [Broker-J] Changing of group name, address or node name in BDB HA virtual host node should be disallowed 
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8236
>                 URL: https://issues.apache.org/jira/browse/QPID-8236
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: qpid-java-6.1.6, 0.32, qpid-java-6.0.8, qpid-java-broker-7.0.6
>            Reporter: Alex Rudyy
>            Priority: Major
>             Fix For: qpid-java-6.1.7, qpid-java-broker-7.1.0, qpid-java-broker-7.0.7
>
>
> The group name of BDB HA Virtual Host Node can be changed using management interfaces, for example REST API. However, the change of group name is not reflected in the underlying BDB JE infrastructure. In fact, the change of group name is unsupported by BDB JE. The only way the group can be changed is by resettingĀ  the group information using BDB JE utility {{DbResetRepGroup}} which resets the group to a single node. 
> The Qpid Broker should not allow to change group name attribute in BDB HA Virtual Host node via management API.
> If group is changed, on next broker restart the impacted {{VHN}} fails to start with the following error logged into broker logs:
> {noformat}
> ERROR [qtp699327636-161] (o.a.q.s.m.p.f.ExceptionHandlingFilter) - Unexpected exception in servlet '/api/latest/virtualhostnode/node1':
> java.lang.RuntimeException: Unexpected exception on environment creation
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.createEnvironmentInSeparateThread(ReplicatedEnvironmentFacade.java:1578)
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.createEnvironment(ReplicatedEnvironmentFacade.java:1526)
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.<init>(ReplicatedEnvironmentFacade.java:288)
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacadeFactory.createEnvironmentFacade(ReplicatedEnvironmentFacadeFactory.java:130)
>         at org.apache.qpid.server.store.berkeleydb.BDBConfigurationStore.init(BDBConfigurationStore.java:120)
>         at org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl.activate(BDBHAVirtualHostNodeImpl.java:338)
>         at org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:169)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1526)
>         at org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1505)
>         at org.apache.qpid.server.model.AbstractConfiguredObject.attainStateIfOpenedOrReopenFailed(AbstractConfiguredObject.java:1489)
>         at org.apache.qpid.server.model.AbstractConfiguredObject.access$1700(AbstractConfiguredObject.java:97)
>         at org.apache.qpid.server.model.AbstractConfiguredObject$15.execute(AbstractConfiguredObject.java:1716)
>         at org.apache.qpid.server.model.AbstractConfiguredObject$15.execute(AbstractConfiguredObject.java:1678)
>         at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:639)
>         at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:632)
>         at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
>         at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:320)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:360)
>         at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:313)
>         at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)
>         at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)
>         at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)
>         at java.lang.Thread.run(Thread.java:748)
> Caused by: com.sleepycat.je.EnvironmentFailureException: (JE 7.4.5) The argument: ha2 does not match the expected group name: ha UNEXPECTED_STATE: Unexpected internal state, may have side effects.
>         at com.sleepycat.je.EnvironmentFailureException.unexpectedState(EnvironmentFailureException.java:428)
>         at com.sleepycat.je.rep.impl.RepGroupDB.fetchGroup(RepGroupDB.java:369)
>         at com.sleepycat.je.rep.impl.RepGroupDB.getGroup(RepGroupDB.java:228)
>         at com.sleepycat.je.rep.impl.RepGroupDB.getGroup(RepGroupDB.java:261)
>         at com.sleepycat.je.rep.impl.node.RepNode.refreshCachedGroup(RepNode.java:928)
>         at com.sleepycat.je.rep.impl.node.RepNode.findMaster(RepNode.java:1272)
>         at com.sleepycat.je.rep.impl.node.RepNode.startup(RepNode.java:897)
>         at com.sleepycat.je.rep.impl.node.RepNode.joinGroup(RepNode.java:2157)
>         at com.sleepycat.je.rep.impl.RepImpl.joinGroup(RepImpl.java:610)
>         at com.sleepycat.je.rep.ReplicatedEnvironment.joinGroup(ReplicatedEnvironment.java:560)
>         at com.sleepycat.je.rep.ReplicatedEnvironment.<init>(ReplicatedEnvironment.java:621)
>         at com.sleepycat.je.rep.ReplicatedEnvironment.<init>(ReplicatedEnvironment.java:466)
>         at com.sleepycat.je.rep.ReplicatedEnvironment.<init>(ReplicatedEnvironment.java:540)
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.createEnvironment(ReplicatedEnvironmentFacade.java:1594)
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.access$1700(ReplicatedEnvironmentFacade.java:87)
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade$14.call(ReplicatedEnvironmentFacade.java:1542)
>         at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade$14.call(ReplicatedEnvironmentFacade.java:1538)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         ... 1 common frames omitted
> {noformat}



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