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

Alex Rudyy reassigned QPID-7675:
--------------------------------

    Assignee: Alex Rudyy

> [Java Broker] Runtime exception can be thrown by REST API on failure to 
> create BDB HA Virtual Host Node
> -------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-7675
>                 URL: https://issues.apache.org/jira/browse/QPID-7675
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.32, qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>            Priority: Minor
>             Fix For: qpid-java-7.0, qpid-java-6.1.2, qpid-java-6.0.7
>
>
> RuntimeException is occasionally thrown on creation of BDB HA Virtual Host 
> using REST API when validation of existing node in group fails. The stack 
> trace is provided below:
> {noformat}
> java.lang.RuntimeException: Cannot retrieve state for node 'myNode' 
> (localhost:5000) from group 'myGroup'
>       at 
> org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.connectToHelperNodeAndCheckPermittedHosts(ReplicatedEnvironmentFacade.java:1858)
>  ~[qpid-bdbstore-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl.getPermittedNodesFromHelper(BDBHAVirtualHostNodeImpl.java:564)
>  ~[qpid-bdbstore-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl.validateOnCreate(BDBHAVirtualHostNodeImpl.java:544)
>  ~[qpid-bdbstore-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$6.execute(AbstractConfiguredObject.java:847)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$6.execute(AbstractConfiguredObject.java:834)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:632)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:625)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:240)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:157)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:145)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject.doOnConfigThread(AbstractConfiguredObject.java:624)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject.createAsync(AbstractConfiguredObject.java:833)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory.createAsync(AbstractConfiguredObjectTypeFactory.java:76)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.ConfiguredObjectFactoryImpl.createAsync(ConfiguredObjectFactoryImpl.java:125)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.BrokerImpl.createVirtualHostNodeAsync(BrokerImpl.java:601)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.BrokerImpl.addChildAsync(BrokerImpl.java:655) 
> ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$17.execute(AbstractConfiguredObject.java:2066)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$17.execute(AbstractConfiguredObject.java:2061)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:632)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:625)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:240)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:312)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at java.security.AccessController.doPrivileged(Native Method) 
> ~[na:1.8.0_92]
>       at javax.security.auth.Subject.doAs(Subject.java:360) ~[na:1.8.0_92]
>       at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:305)
>  ~[qpid-broker-core-6.1.1.jar:6.1.1]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_92]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_92]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_92]
>       at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92]
> Caused by: com.sleepycat.je.rep.utilint.BinaryProtocol$ProtocolException: 
> Expected message type: class 
> com.sleepycat.je.rep.impl.BinaryNodeStateProtocol$BinaryNodeStateResponse but 
> found: class com.sleepycat.je.rep.utilint.BinaryProtocol$ProtocolError
>       at 
> com.sleepycat.je.rep.utilint.BinaryProtocol.read(BinaryProtocol.java:516) 
> ~[je-5.0.104.jar:5.0.104]
>       at com.sleepycat.je.rep.util.DbPing.getNodeState(DbPing.java:203) 
> ~[je-5.0.104.jar:5.0.104]
>       at 
> org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.getRemoteNodeState(ReplicatedEnvironmentFacade.java:1805)
>  ~[qpid-bdbstore-6.1.1.jar:6.1.1]
>       at 
> org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.connectToHelperNodeAndCheckPermittedHosts(ReplicatedEnvironmentFacade.java:1844)
>  ~[qpid-bdbstore-6.1.1.jar:6.1.1]
>       ... 28 common frames omitted
> {noformat}
> The RuntimeException is reported using html response having 500 status code. 
> The REST API should not report validation failure in such way. The response 
> code should be either 400 or 422 and response in json format should be 
> generated in this case.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to