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 <merrim...@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)