[
https://issues.apache.org/jira/browse/DISPATCH-2303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17469332#comment-17469332
]
Ken Giusti commented on DISPATCH-2303:
--------------------------------------
Confirmed: the router is incorrectly closing the connection to the test HTTP
server while the POST is in progress.
The test needs to deal with this type of failure correctly.
The router issue appears to be due to an unrelated change in proton main that
is under investigation.
> system_tests_http1_over_tcp
> Http1OverTcpEdge2EdgeTest::test_05_large_streaming_msg failure: invalid
> literal for int() with base 16: b''
> ---------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DISPATCH-2303
> URL: https://issues.apache.org/jira/browse/DISPATCH-2303
> Project: Qpid Dispatch
> Issue Type: Test
> Components: Tests
> Affects Versions: 1.19.0
> Reporter: Jiri Daněk
> Assignee: Ken Giusti
> Priority: Minor
>
> https://github.com/apache/qpid-dispatch/runs/4703076932?check_suite_focus=true#step:27:5543
> {noformat}
> 71: ::Http1OverTcpEdge2EdgeTest::test_05_large_streaming_msg Exception in
> thread Thread-26 (_run):
> 71: Traceback (most recent call last):
> 71: File "/usr/lib64/python3.10/threading.py", line 1009, in
> _bootstrap_inner
> 71: self.run()
> 71: File "/usr/lib64/python3.10/threading.py", line 946, in run
> 71: self._target(*self._args, **self._kwargs)
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 184, in _run
> 71: rsp = client.getresponse()
> 71: File "/usr/lib64/python3.10/http/client.py", line 1374, in getresponse
> 71: response.begin()
> 71: File "/usr/lib64/python3.10/http/client.py", line 318, in begin
> 71: version, status, reason = self._read_status()
> 71: File "/usr/lib64/python3.10/http/client.py", line 279, in _read_status
> 71: line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
> 71: File "/usr/lib64/python3.10/socket.py", line 705, in readinto
> 71: return self._sock.recv_into(b)
> 71: TimeoutError: timed out
> 71: FAILED----------------------------------------
> 71: Exception occurred during processing of request from ('127.0.0.1', 34566)
> 71: Traceback (most recent call last):
> 71: File "/usr/lib64/python3.10/socketserver.py", line 316, in
> _handle_request_noblock
> 71: self.process_request(request, client_address)
> 71: File "/usr/lib64/python3.10/socketserver.py", line 347, in
> process_request
> 71: self.finish_request(request, client_address)
> 71: File "/usr/lib64/python3.10/socketserver.py", line 360, in
> finish_request
> 71: self.RequestHandlerClass(request, client_address, self)
> 71: File "/usr/lib64/python3.10/socketserver.py", line 747, in __init__
> 71: self.handle()
> 71: File "/usr/lib64/python3.10/http/server.py", line 429, in handle
> 71: self.handle_one_request()
> 71: File "/usr/lib64/python3.10/http/server.py", line 415, in
> handle_one_request
> 71: method()
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 86, in do_PUT
> 71: self._execute_request(self.server.system_tests["PUT"])
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 58, in _execute_request
> 71: self._consume_body()
> 71: File
> "/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/tests/http1_tests.py",
> line 113, in _consume_body
> 71: hlen = int(header, base=16)
> 71: ValueError: invalid literal for int() with base 16: b''
> 71: ----------------------------------------
> {noformat}
> {noformat}
> 71: =================================== FAILURES
> ===================================
> 71: ____________ Http1OverTcpEdge2EdgeTest.test_05_large_streaming_msg
> _____________
> 71:
> 71: self = <system_tests_http1_over_tcp.Http1OverTcpEdge2EdgeTest
> testMethod=test_05_large_streaming_msg>
> 71:
> 71: def test_05_large_streaming_msg(self):
> 71: """
> 71: Verify large streaming message transfer
> 71: """
> 71: TESTS_11 = {
> 71: "PUT": [
> 71: (RequestMsg("PUT", "/PUT/streaming_test_11",
> 71: headers={
> 71: "Transfer-encoding": "chunked",
> 71: "Content-Type": "text/plain;charset=utf-8"
> 71: },
> 71: # 4 chunks each ~= 600K
> 71: body=b'927C1\r\n' + b'0' * 0x927C0 + b'X\r\n'
> 71: + b'927C0\r\n' + b'1' * 0x927C0 + b'\r\n'
> 71: + b'927C1\r\n' + b'2' * 0x927C0 + b'X\r\n'
> 71: + b'927C0\r\n' + b'3' * 0x927C0 + b'\r\n'
> 71: + b'0\r\n\r\n'),
> 71:
> 71: ResponseMsg(201, reason="Created",
> 71: headers={"Response-Header": "data",
> 71: "Content-Length": "0"}),
> 71: ResponseValidator(status=201))
> 71: ],
> 71:
> 71: "GET": [
> 71: (RequestMsg("GET", "/GET/streaming_test_11",
> 71: headers={"Content-Length": "000"}),
> 71: ResponseMsg(200, reason="OK",
> 71: headers={
> 71: "transfer-Encoding": "chunked",
> 71: "Content-Type":
> "text/plain;charset=utf-8"
> 71: },
> 71: # two 1.2MB chunk
> 71: body=b'124f80\r\n' + b'4' * 0x124F80 +
> b'\r\n'
> 71: + b'124f80\r\n' + b'5' * 0x124F80 + b'\r\n'
> 71: + b'0\r\n\r\n'),
> 71: ResponseValidator(status=200))
> 71: ],
> 71: }
> 71:
> 71: TESTS_10 = {
> 71: "POST": [
> 71: (RequestMsg("POST", "/POST/streaming_test_10",
> 71: headers={"Header-1": "H" * 2048,
> 71: "Content-Length": "2097155",
> 71: "Content-Type":
> "text/plain;charset=utf-8"},
> 71: body=b'P' * 2097155),
> 71: ResponseMsg(201, reason="Created",
> 71: headers={"Response-Header": "data",
> 71: "Content-Length": "0"}),
> 71: ResponseValidator(status=201))
> 71: ],
> 71:
> 71: "GET": [
> 71: (RequestMsg("GET", "/GET/streaming_test_10",
> 71: headers={"Content-Length": "000"}),
> 71: ResponseMsg(200, reason="OK",
> 71: headers={"Content-Length": "1999999",
> 71: "Content-Type":
> "text/plain;charset=utf-8"},
> 71: body=b'G' * 1999999),
> 71: ResponseValidator(status=200))
> 71: ],
> 71: }
> 71: server11 = TestServer.new_server(self.http_server11_port,
> self.http_listener11_port, TESTS_11)
> 71: self.assertIsNotNone(server11, TEST_SERVER_ERROR %
> self.http_server11_port)
> 71: server10 = TestServer.new_server(self.http_server10_port,
> self.http_listener10_port, TESTS_10,
> 71: handler_cls=RequestHandler10)
> 71: self.assertIsNotNone(server10, TEST_SERVER_ERROR %
> self.http_server10_port)
> 71:
> 71: self.EA2.wait_connectors()
> 71:
> 71: client11 = ThreadedTestClient(TESTS_11,
> 71: self.http_listener11_port,
> 71: repeat=2)
> 71: client11.wait()
> 71: self.assertIsNone(client11.error)
> 71: > self.assertEqual(4, client11.count)
> 71: E AssertionError: 4 != 2
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]