You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by es...@apache.org on 2011/08/17 22:55:57 UTC
svn commit: r1158909 -
/incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/LogicalNode.java
Author: esammer
Date: Wed Aug 17 20:55:56 2011
New Revision: 1158909
URL: http://svn.apache.org/viewvc?rev=1158909&view=rev
Log:
- We now wait a limited amount of time before interrupting the driver on shutdown.
Modified:
incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/LogicalNode.java
Modified: incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/LogicalNode.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/LogicalNode.java?rev=1158909&r1=1158908&r2=1158909&view=diff
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/LogicalNode.java (original)
+++ incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/LogicalNode.java Wed Aug 17 20:55:56 2011
@@ -142,18 +142,15 @@ public class LogicalNode implements Life
if (driver.getLifecycleState().equals(LifecycleState.START)) {
driver.setShouldStop(true);
- while (driver.isAlive()) {
- logger.debug("Waiting for driver to stop");
+ logger.debug("Waiting for driver to stop");
- /* If we're interrupted during a stop, we just fail. */
- try {
- driver.join();
- } catch (InterruptedException e) {
- logger
- .error("Interrupted while waiting for driver thread to stop", e);
- lifecycleState = LifecycleState.ERROR;
- break;
- }
+ /* If we can't stop within N seconds, we just interrupt and give up. */
+ try {
+ driver.join(10000);
+ driver.interrupt();
+ } catch (InterruptedException e) {
+ logger
+ .debug("Timed out while waiting for driver to finish (normal source / sink are blocking)");
}
}