GitHub user shanthoosh opened a pull request:

    https://github.com/apache/samza/pull/416

    SAMZA-1568: Handle ZkInterruptedException in zkclient.close.

    When zookeeper session failures occur in a stream processor,   leaves the 
group(zkClient is closed) and joins the group again.
    
    The last step in that shutdown sequence is zkClient.close(). In some 
scenarios, it throws the following exception, 
    
        org.I0Itec.zkclient.exception.ZkInterruptedException: 
java.lang.InterruptedException
        at org.I0Itec.zkclient.ZkClient.close(ZkClient.java:1278)
        at org.apache.samza.zk.ZkControllerImpl.stop(ZkControllerImpl.java:92)
    
        at org.apache.samza.zk.ZkJobCoordinator.stop(ZkJobCoordinator.java:141)
    In existing implementation this is not handled, there by killing the stream 
processor.  The following codepath triggers this exception:
    
    `StreamProcessor.stop -> ZkJobCoordinator.stop() ->  zkController.stop() -> 
zkUtils.close`
    
    This exception causes the integration test to fail occasionally  and can 
cause LocalApplicationRunner.waitForFinish method call to block 
indefinitely(since this callback event success, updates the latch state 
required for waitForFinish to end).
    


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/shanthoosh/samza zk_utils_close

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/samza/pull/416.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #416
    
----
commit 2542a0ad1bee19927761eaf0171a6f637f21ac3a
Author: Shanthoosh Venkataraman <svenkataraman@...>
Date:   2018-01-25T19:44:55Z

    SAMZA-1568: Handle ZkInterruptedException in zkclient.close.

----


---

Reply via email to