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 
compiler warnings.

    +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.

Test results: 
Findbugs warnings: 
Console output: 

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 
> output.
> 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.

Reply via email to