Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9015 )
Change subject: KUDU-2208 Add RETRY_ON_EINTR() to Subprocess ...................................................................... Patch Set 10: (4 comments) http://gerrit.cloudera.org:8080/#/c/9015/10/src/kudu/util/os-util.h File src/kudu/util/os-util.h: http://gerrit.cloudera.org:8080/#/c/9015/10/src/kudu/util/os-util.h@27 PS10, Line 27: #include <string> should probably #include <errno.h> here since EINTR is defined there http://gerrit.cloudera.org:8080/#/c/9015/10/src/kudu/util/subprocess-test.cc File src/kudu/util/subprocess-test.cc: http://gerrit.cloudera.org:8080/#/c/9015/10/src/kudu/util/subprocess-test.cc@338 PS10, Line 338: ASSERT_FALSE(err != 0 && err != ESRCH); nit: I think this would read better as ASSERT_TRUE(err == 0 || err == ESRCH) http://gerrit.cloudera.org:8080/#/c/9015/10/src/kudu/util/subprocess-test.cc@340 PS10, Line 340: LOG(INFO) << "Async kill signal failed with err=" << err << can you add an ASSERT_TRUE(t_finished) here? we should only get ESRCH in the case where the thread finished http://gerrit.cloudera.org:8080/#/c/9015/10/src/kudu/util/subprocess-test.cc@344 PS10, Line 344: SleepFor(MonoDelta::FromMicroseconds(rand() % 100)); can you change this to rand() % 1? It still runs quickly on my machine with that setting and seems more likely to produce races -- To view, visit http://gerrit.cloudera.org:8080/9015 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I148b4619a8dda8e3e95dd6ea5c6e993a9e37a333 Gerrit-Change-Number: 9015 Gerrit-PatchSet: 10 Gerrit-Owner: Jeffrey F. Lukman <[email protected]> Gerrit-Reviewer: Jeffrey F. Lukman <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Comment-Date: Wed, 17 Jan 2018 06:16:51 +0000 Gerrit-HasComments: Yes
