Description
On flipping node role from MASTER to REPLICA and back (for example, using UI transfer master functionality) IllegalStateException is thrown:
java.lang.IllegalStateException: Message store durability is already set to SYNC,NO_SYNC,SIMPLE_MAJORITY at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.setMessageStoreDurability(ReplicatedEnvironmentFacade.java:1122) at org.apache.qpid.server.virtualhost.berkeleydb.BDBHAVirtualHostImpl.onOpen(BDBHAVirtualHostImpl.java:110) at org.apache.qpid.server.model.AbstractConfiguredObject.doOpening(AbstractConfiguredObject.java:503) at org.apache.qpid.server.model.AbstractConfiguredObject.open(AbstractConfiguredObject.java:395) at org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl$1.run(BDBHAVirtualHostNodeImpl.java:470) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl.onMaster(BDBHAVirtualHostNodeImpl.java:465) at org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl.access$300(BDBHAVirtualHostNodeImpl.java:74) at org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl$EnvironmentStateChangeListener.stateChange(BDBHAVirtualHostNodeImpl.java:539) at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.stateChanged(ReplicatedEnvironmentFacade.java:510) at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.access$300(ReplicatedEnvironmentFacade.java:95) at org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade$3.run(ReplicatedEnvironmentFacade.java:474) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)