[
https://issues.apache.org/jira/browse/IMPALA-7181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17063567#comment-17063567
]
Vincent Tran commented on IMPALA-7181:
--------------------------------------
Unfortunately, I have not been able to reproduce this exact error from the
shell - but a few Google search results seem to indicate that this is a
ubiquitous problem:
{noformat}
[Errno 4] Interrupted system call
{noformat}
Delivering a SIGINT to the Python process executing socket.accept() does raise
an exception:
{noformat}
[root@v-711-1 ~]# ./open-socket.py
Listening to port: 56959
Traceback (most recent call last):
File "./open-socket.py", line 11, in <module>
connection, client_address = s.accept()
File "/usr/lib64/python2.7/socket.py", line 202, in accept
sock, addr = self._sock.accept()
KeyboardInterrupt
{noformat}
Assuming that the signal delivered during the test is benign, the EINTR error
should be handled, and the accept() should be retried. This is a feature of
Python 3.5[1], so I think it's safe to implement it here.
[~csringhofer] - do you have any opinions about this?
[1] [https://www.python.org/dev/peps/pep-0475/]
> Fix flaky test
> shell/test_shell_commandline.py::TestImpalaShell::test_socket_opening
> -------------------------------------------------------------------------------------
>
> Key: IMPALA-7181
> URL: https://issues.apache.org/jira/browse/IMPALA-7181
> Project: IMPALA
> Issue Type: Bug
> Affects Versions: Impala 2.13.0, Impala 3.1.0
> Reporter: Vincent Tran
> Assignee: Vincent Tran
> Priority: Blocker
> Labels: broken-build
> Fix For: Impala 2.13.0, Impala 3.1.0
>
>
> shell/test_shell_commandline.py::TestImpalaShell::test_socket_opening uses
> netcat to listen to an ephemeral port to verify impala-shell socket opening
> behavior.
> The port is hardcoded to 42000 which can fail the test if this port is used
> by an outgoing socket.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]