You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by bb...@apache.org on 2016/12/15 18:23:18 UTC
nifi git commit: NIFI-3186: Fixed NPE that was overlooked
Repository: nifi
Updated Branches:
refs/heads/master 5776c4b1f -> ab2d07aa5
NIFI-3186: Fixed NPE that was overlooked
This closes #1317.
Signed-off-by: Bryan Bende <bb...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/ab2d07aa
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/ab2d07aa
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/ab2d07aa
Branch: refs/heads/master
Commit: ab2d07aa5a9cf0f766b437ca5617e9e878751399
Parents: 5776c4b
Author: Mark Payne <ma...@hotmail.com>
Authored: Mon Dec 12 08:25:51 2016 -0500
Committer: Bryan Bende <bb...@apache.org>
Committed: Thu Dec 15 12:56:23 2016 -0500
----------------------------------------------------------------------
.../provenance/ByteArraySchemaRecordReader.java | 3 +++
.../TestSchemaRecordReaderWriter.java | 26 ++++++++++++++++++++
2 files changed, 29 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/ab2d07aa/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/ByteArraySchemaRecordReader.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/ByteArraySchemaRecordReader.java b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/ByteArraySchemaRecordReader.java
index 297f084..bb43ba8 100644
--- a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/ByteArraySchemaRecordReader.java
+++ b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/ByteArraySchemaRecordReader.java
@@ -73,6 +73,9 @@ public class ByteArraySchemaRecordReader extends CompressableRecordReader {
final InputStream limitedIn = new LimitingInputStream(in, recordLength);
final Record eventRecord = recordReader.readRecord(limitedIn);
+ if (eventRecord == null) {
+ return null;
+ }
return EventRecord.getEvent(eventRecord, getFilename(), byteOffset, getMaxAttributeLength());
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/ab2d07aa/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestSchemaRecordReaderWriter.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestSchemaRecordReaderWriter.java b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestSchemaRecordReaderWriter.java
index b9bb85e..aed690b 100644
--- a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestSchemaRecordReaderWriter.java
+++ b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestSchemaRecordReaderWriter.java
@@ -20,6 +20,7 @@ package org.apache.nifi.provenance;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayOutputStream;
@@ -164,6 +165,31 @@ public class TestSchemaRecordReaderWriter extends AbstractTestRecordReaderWriter
}
}
+ @Test
+ public void testAddOneRecordReadTwice() throws IOException {
+ final RecordField unitTestField = new SimpleRecordField("Unit Test Field", FieldType.STRING, Repetition.EXACTLY_ONE);
+ final Consumer<List<RecordField>> schemaModifier = fields -> fields.add(unitTestField);
+
+ final Map<RecordField, Object> toAdd = new HashMap<>();
+ toAdd.put(unitTestField, "hello");
+
+ try (final ByteArraySchemaRecordWriter writer = createSchemaWriter(schemaModifier, toAdd)) {
+ writer.writeHeader(1L);
+ writer.writeRecord(createEvent(), 3L);
+ }
+
+ try (final InputStream in = new FileInputStream(journalFile);
+ final TocReader tocReader = new StandardTocReader(tocFile);
+ final RecordReader reader = createReader(in, journalFile.getName(), tocReader, 10000)) {
+
+ final ProvenanceEventRecord firstEvent = reader.nextRecord();
+ assertNotNull(firstEvent);
+
+ final ProvenanceEventRecord secondEvent = reader.nextRecord();
+ assertNull(secondEvent);
+ }
+ }
+
/**
* Creates a SchemaRecordWriter that uses a modified schema