[ 
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]

Reply via email to