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] [Closed] (QPID-8236) [Broker-J] Changing of group name, address or node name in BDB HA virtual host node should be disallowed
Date Mon, 03 Sep 2018 00:13:00 GMT

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

Alex Rudyy closed QPID-8236.
----------------------------

> [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
>            Assignee: Alex Rudyy
>            Priority: Major
>             Fix For: qpid-java-6.1.7, qpid-java-broker-7.1.0, qpid-java-broker-7.0.7
>
>
> The BDB HA Virtual Host Node group name, address or node name can be changed using management
interfaces, for example REST API. However, the change of this attributes is not reflected
in the underlying BDB JE infrastructure. In fact, the change of group name, address or node
name is unsupported by BDB JE. The only way any of them 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, address or node name  attributes
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


Mime
View raw message