Alex Rudyy created QPID-7452:
--------------------------------
Summary: [Java Tests] URLConnection can be spuriously open twice
in RestTestHelper whilst making a test HTTP request to the Broker causing test
failures
Key: QPID-7452
URL: https://issues.apache.org/jira/browse/QPID-7452
Project: Qpid
Issue Type: Bug
Components: Java Tests
Reporter: Alex Rudyy
Test
BDBHAVirtualHostNodeRestTest.testIntruderBDBHAVHNNotAllowedToConnect(BDBHAVirtualHostNodeRestTest
failed recently with the following error:
{noformat}
Unexpected response code from PUT virtualhostnode/node3 expected:<201> but
was:<422>
Stacktrace
java.lang.AssertionError: Unexpected response code from PUT
virtualhostnode/node3 expected:<201> but was:<422>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:555)
at
org.apache.qpid.systest.rest.RestTestHelper.submitRequest(RestTestHelper.java:594)
at
org.apache.qpid.server.store.berkeleydb.replication.BDBHAVirtualHostNodeRestTest.testIntruderBDBHAVHNNotAllowedToConnect(BDBHAVirtualHostNodeRestTest.java:252)
{noformat}
The test logs contain records of 2 HTTP requests being made to join the HA node
to the group whilst test intended to make only one HTTP request.
{noformat}
2016-10-06 22:00:57,857 DEBUG [HttpManagement-http-2022]
o.a.q.s.m.p.f.LoggingFilter REQUEST user='null' method='PUT'
url='http://localhost:51866/api/latest/virtualhostnode/node3'
2016-10-06 22:00:57,860 DEBUG [HttpManagement-http-2038]
o.a.q.s.m.p.f.LoggingFilter REQUEST user='null' method='PUT'
url='http://localhost:51866/api/latest/virtualhostnode/node3'
{noformat}
The first request was successfully completed
{noformat}
2016-10-06 22:00:58,210 DEBUG [HttpManagement-http-2022]
o.a.q.s.m.p.f.LoggingFilter RESPONSE user='[/127.0.0.1:48747, webadmin]'
method='PUT' url='http://localhost:51866/api/latest/virtualhostnode/node3'
status='201'
{noformat}
The second spurious request had failed
{noformat}
WARN [HttpManagement-http-2038] o.a.q.s.m.p.s.r.RestServlet
IllegalConfigurationException processing request
http://localhost:51866/api/latest/virtualhostnode/node3 from user
'[/127.0.0.1:48849, webadmin]': Cannot bind to address 'localhost:10002'.
Address is already in use.
2016-10-06 22:00:58,221 DEBUG [VirtualHostNode-node3-Config]
o.a.q.s.c.u.TaskExecutorImpl Performing Task['create' on
'VirtualHost[id=35bb124e-1e4d-4c06-812e-c92c13b0b4d3,
name=BDBHAVirtualHostNodeRestTest.testIntruderBDBHAVHNNotAllowedToConnect,
type=BDB_HA_REPLICA]']
2016-10-06 22:00:58,222 DEBUG [HttpManagement-http-2038]
o.a.q.s.m.p.f.LoggingFilter RESPONSE user='[/127.0.0.1:48849, webadmin]'
method='PUT' url='http://localhost:51866/api/latest/virtualhostnode/node3'
status='422'
{noformat}
The client received response with http status code 422 which caused the test
failure.
It looks like the problem lies in the code used to open URLConnection to the
broker in RestTestHelper. We need to prevent URLConnection from being opened
twice.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]