Hadoop QA commented on ZOOKEEPER-482:
+1 overall. Here are the results of testing the latest attachment
against trunk revision 798038.
+1 @author. The patch does not contain any @author tags.
+1 tests included. The patch appears to include 4 new or modified tests.
+1 javadoc. The javadoc tool did not generate any warning messages.
+1 javac. The applied patch does not increase the total number of javac
+1 findbugs. The patch does not introduce any new Findbugs warnings.
+1 release audit. The applied patch does not increase the total number of
release audit warnings.
+1 core tests. The patch passed core unit tests.
+1 contrib tests. The patch passed contrib unit tests.
This message is automatically generated.
> ignore sigpipe in testRetry to avoid silent immediate failure
> Key: ZOOKEEPER-482
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-482
> Project: Zookeeper
> Issue Type: Bug
> Components: c client, tests
> Affects Versions: 3.2.0
> Reporter: Chris Darroch
> Assignee: Chris Darroch
> Priority: Minor
> Fix For: 3.2.1, 3.3.0
> Attachments: ZOOKEEPER-482.patch
> The testRetry test silently exits for me periodically, especially, it seems,
> on newer hardware. It also spits out from log messages clutter the test
> The silent exits turn out to be because SIGPIPE is sometimes delivered during
> the sleep(1) in createClient(), the second time createClient() is called.
> Since SIGPIPE is not being ignored and there is no signal handler, the
> process exists immediately. This leaves the test suite in a broken state,
> with the test ZooKeeper process still running because "zkServer.sh stop" is
> not run by tearDown(). You have to manually kill the ZK server and retry the
> tests; sometimes they succeed and sometimes they don't.
> I described SIGPIPE handling a little in ZOOKEEPER-320. The appropriate
> thing, I think, is for the client application to ignore or handle SIGPIPE.
> In this case, that falls to the test processes. The attached patch fixes the
> issue for me with testRetry.
> The patch uses sigaction() to ignore SIGPIPE in TestClientRetry.cc and, for
> good measure (although I never saw it actually fail for me), TestClient.cc,
> since that file also uses sleep() extensively.
> I also removed a couple of unused functions and a macro definition from
> TestClientRetry.cc, just to simply matters, and turned off log output, which
> makes the testRetry output much, much cleaner (otherwise you get a lot of log
> output spamming into the nice clean cppunit output :-).
This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.