You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by rm...@apache.org on 2019/06/05 22:36:23 UTC
[metron] branch master updated: METRON-2153 ParserIntegrationTest
should print failed messages (merrimanr) closes apache/metron#1438
This is an automated email from the ASF dual-hosted git repository.
rmerriman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/metron.git
The following commit(s) were added to refs/heads/master by this push:
new a1487ec METRON-2153 ParserIntegrationTest should print failed messages (merrimanr) closes apache/metron#1438
a1487ec is described below
commit a1487ec104c0ebb7e3383499b445726dbe5de142
Author: merrimanr <me...@gmail.com>
AuthorDate: Wed Jun 5 17:36:05 2019 -0500
METRON-2153 ParserIntegrationTest should print failed messages (merrimanr) closes apache/metron#1438
---
.../java/org/apache/metron/common/error/MetronError.java | 4 ++++
.../java/org/apache/metron/parsers/bolt/ParserBolt.java | 6 +++++-
.../parsers/integration/validation/StormParserDriver.java | 13 +++++++++++++
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/metron-platform/metron-common/src/main/java/org/apache/metron/common/error/MetronError.java b/metron-platform/metron-common/src/main/java/org/apache/metron/common/error/MetronError.java
index 46fe3b2..fe6a161 100644
--- a/metron-platform/metron-common/src/main/java/org/apache/metron/common/error/MetronError.java
+++ b/metron-platform/metron-common/src/main/java/org/apache/metron/common/error/MetronError.java
@@ -106,6 +106,10 @@ public class MetronError {
return throwable != null ? Optional.of(throwable) : Optional.empty();
}
+ public List<Object> getRawMessages() {
+ return rawMessages;
+ }
+
/**
* Serializes the MetronError into a JSON object.
*
diff --git a/metron-platform/metron-parsing/metron-parsing-storm/src/main/java/org/apache/metron/parsers/bolt/ParserBolt.java b/metron-platform/metron-parsing/metron-parsing-storm/src/main/java/org/apache/metron/parsers/bolt/ParserBolt.java
index 2837fcb..f6715a5 100644
--- a/metron-platform/metron-parsing/metron-parsing-storm/src/main/java/org/apache/metron/parsers/bolt/ParserBolt.java
+++ b/metron-platform/metron-parsing/metron-parsing-storm/src/main/java/org/apache/metron/parsers/bolt/ParserBolt.java
@@ -255,7 +255,7 @@ public class ParserBolt extends ConfiguredParserBolt implements Serializable {
, sensorParserConfig.getRawMessageStrategyConfig()
);
ParserRunnerResults<JSONObject> parserRunnerResults = parserRunner.execute(sensorType, rawMessage, parserConfigurations);
- parserRunnerResults.getErrors().forEach(error -> StormErrorUtils.handleError(collector, error));
+ parserRunnerResults.getErrors().forEach(error -> handleError(collector, error));
WriterHandler writer = sensorToWriterMap.get(sensorType);
int numWritten = 0;
@@ -326,6 +326,10 @@ public class ParserBolt extends ConfiguredParserBolt implements Serializable {
.withThrowable(ex)
.withSensorType(Collections.singleton(sensorType))
.addRawMessage(originalMessage);
+ handleError(collector, error);
+ }
+
+ protected void handleError(OutputCollector collector, MetronError error) {
StormErrorUtils.handleError(collector, error);
}
diff --git a/metron-platform/metron-parsing/metron-parsing-storm/src/test/java/org/apache/metron/parsers/integration/validation/StormParserDriver.java b/metron-platform/metron-parsing/metron-parsing-storm/src/test/java/org/apache/metron/parsers/integration/validation/StormParserDriver.java
index 0d46d73..764a445 100644
--- a/metron-platform/metron-parsing/metron-parsing-storm/src/test/java/org/apache/metron/parsers/integration/validation/StormParserDriver.java
+++ b/metron-platform/metron-parsing/metron-parsing-storm/src/test/java/org/apache/metron/parsers/integration/validation/StormParserDriver.java
@@ -35,6 +35,7 @@ import org.apache.commons.lang.SerializationUtils;
import org.apache.metron.common.configuration.IndexingConfigurations;
import org.apache.metron.common.configuration.ParserConfigurations;
import org.apache.metron.common.configuration.writer.WriterConfiguration;
+import org.apache.metron.common.error.MetronError;
import org.apache.metron.common.writer.BulkMessageWriter;
import org.apache.metron.common.writer.BulkMessage;
import org.apache.metron.common.writer.BulkWriterResponse;
@@ -112,6 +113,18 @@ public class StormParserDriver extends ParserDriver {
LOG.error("Error parsing message: " + ex.getMessage(), ex);
}
+ @Override
+ protected void handleError(OutputCollector collector, MetronError error) {
+ for(Object rawMessage: error.getRawMessages()) {
+ errors.add((byte[]) rawMessage);
+ }
+ if (error.getThrowable().isPresent()) {
+ Throwable throwable = error.getThrowable().get();
+ LOG.error("Error parsing message: " + throwable.getMessage(), throwable);
+ }
+
+ }
+
@SuppressWarnings("unchecked")
public ProcessorResult<List<byte[]>> getResults() {
return new ProcessorResult.Builder<List<byte[]>>().withProcessErrors(errors)