You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chukwa.apache.org by ey...@apache.org on 2010/09/12 03:38:19 UTC
svn commit: r996234 - in
/incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa:
dataloader/MetricDataLoader.java extraction/demux/PostProcessorManager.java
Author: eyang
Date: Sun Sep 12 01:38:19 2010
New Revision: 996234
URL: http://svn.apache.org/viewvc?rev=996234&view=rev
Log:
CHUKWA-506. Added retry logic for MetricDataLoader (William Bajzek via Eric Yang)
Modified:
incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/dataloader/MetricDataLoader.java
incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/extraction/demux/PostProcessorManager.java
Modified: incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/dataloader/MetricDataLoader.java
URL: http://svn.apache.org/viewvc/incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/dataloader/MetricDataLoader.java?rev=996234&r1=996233&r2=996234&view=diff
==============================================================================
--- incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/dataloader/MetricDataLoader.java (original)
+++ incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/dataloader/MetricDataLoader.java Sun Sep 12 01:38:19 2010
@@ -172,7 +172,7 @@ public class MetricDataLoader implements
return( sb.toString());
}
- public boolean run() {
+ public boolean run() throws IOException {
boolean first=true;
log.info("StreamName: " + source.getName());
SequenceFile.Reader reader = null;
@@ -503,9 +503,13 @@ public class MetricDataLoader implements
log.error("SQLException: " + ex.getMessage());
log.error("SQLState: " + ex.getSQLState());
log.error("VendorError: " + ex.getErrorCode());
+ // throw an exception up the chain to give the PostProcessorManager a chance to retry
+ throw new IOException (ex);
} catch (Exception e) {
isSuccessful = false;
log.error(ExceptionUtil.getStackTrace(e));
+ // throw an exception up the chain to give the PostProcessorManager a chance to retry
+ throw new IOException (e);
} finally {
if (batchMode && conn!=null) {
try {
@@ -569,7 +573,7 @@ public class MetricDataLoader implements
return true;
}
- public Boolean call() {
+ public Boolean call() throws IOException {
return run();
}
Modified: incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/extraction/demux/PostProcessorManager.java
URL: http://svn.apache.org/viewvc/incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/extraction/demux/PostProcessorManager.java?rev=996234&r1=996233&r2=996234&view=diff
==============================================================================
--- incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/extraction/demux/PostProcessorManager.java (original)
+++ incubator/chukwa/trunk/src/java/org/apache/hadoop/chukwa/extraction/demux/PostProcessorManager.java Sun Sep 12 01:38:19 2010
@@ -155,7 +155,16 @@ public class PostProcessorManager implem
processPostMoveTriggers(destFiles);
continue;
}
+ } else {
+ log.warn("Error in processDemuxOutput for :" + directoryToBeProcessed + ". Will try again.");
+ if (errorCount > 3)
+ moveToInErrorDirectory(directoryToBeProcessed,directory,chukwaPostProcessInErrorDir);
+ else
+ errorCount++;
+ continue;
+
}
+
// if we are here it's because something bad happen during processing
log.warn("Error in processDemuxOutput for :" + directoryToBeProcessed);
moveToInErrorDirectory(directoryToBeProcessed,directory,chukwaPostProcessInErrorDir);