commit | 0ef31963b8dbb85c907611f74e0a71192732809c | [log] [tgz] |
---|---|---|
author | Brian O'Connor <bocon@opennetworking.org> | Mon Nov 27 18:40:08 2017 -0800 |
committer | Ray Milkey <ray@opennetworking.org> | Tue Nov 28 09:34:27 2017 -0800 |
tree | f928bf23d77aaa18c008fd8f80b71be9c031c376 | |
parent | 7b99b2fe78dc730055f45355a70ad977dc44c315 [diff] |
Fixing checkstyle test hang with nc version >= 1.110 netcat (nc) 1.110 changed the behavior of how sockets are closed when stdin is at EOF or closed. Previously, nc would call shutdown (TCP FIN on the write side of the socket) when the end of stdin was reached. Now, shutdown is only called if '-N' is passed as an argument. This change was introduced into Ubuntu's fork of OpenBSD nc in Nov. 2016. So, the affected versions were Ubuntu 17.04+ as well as any other distribution that uses nc >= 1.110. This change of behavior causes the call to ByteStreams.toByteArray() to hang indefinietly, and thus checkstyle tests to hang indefinitely. Rather than try to figure out which version of nc is present and set the -N option, we will use an empty line as a sentinel and stop parsing input when the first empty line is encountered. For this, we need two changes: (1) send a newline when checking the socket in start-buck-daemon and (2) send a newline at the end of the file list in onos.bucklet We also set SO_TIMEOUT to 1 second and will return an exception if the socket times out. This will prevent tests from hanging indefinitely. Change-Id: If46b4b78ae89312e1afa0563f63100ae67762f0a
ONOS is a new SDN network operating system designed for high availability, performance, scale-out.