You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ex...@apache.org on 2022/11/29 20:29:34 UTC

[nifi] branch main updated (3a7ec5d542 -> ee5d557d2a)

This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


    from 3a7ec5d542 NIFI-10785 Allow publishing AMQP message with null header value NIFI-10785 addressing review comment NIFI-10785 addressing review comments (remove unnecessary property to ignore null headers)
     new ab8e9aa8df NIFI-10890 Replaced HashMap with LinkedHashMap in JsonRowRecordReader
     new ee5d557d2a NIFI-10891 Replaced HashMap with LinkedHashMap in BinFiles

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/java/org/apache/nifi/processor/util/bin/BinFiles.java    | 4 ++--
 .../java/org/apache/nifi/json/AbstractJsonRowRecordReader.java    | 8 ++++----
 .../java/org/apache/nifi/json/TestJsonTreeRowRecordReader.java    | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)


[nifi] 01/02: NIFI-10890 Replaced HashMap with LinkedHashMap in JsonRowRecordReader

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit ab8e9aa8df6e06fa0452c944a55e10cce39a8395
Author: sopan98 <ph...@gmail.com>
AuthorDate: Mon Nov 28 21:35:44 2022 -0600

    NIFI-10890 Replaced HashMap with LinkedHashMap in JsonRowRecordReader
    
    - Updated unit test based on deterministic behavior of LinkedHashMap
    
    This closes #6726
    
    Signed-off-by: David Handermann <ex...@apache.org>
---
 .../java/org/apache/nifi/json/AbstractJsonRowRecordReader.java    | 8 ++++----
 .../java/org/apache/nifi/json/TestJsonTreeRowRecordReader.java    | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-json-record-utils/src/main/java/org/apache/nifi/json/AbstractJsonRowRecordReader.java b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-json-record-utils/src/main/java/org/apache/nifi/json/AbstractJsonRowRecordReader.java
index b024beed6c..59f12770e9 100644
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-json-record-utils/src/main/java/org/apache/nifi/json/AbstractJsonRowRecordReader.java
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-json-record-utils/src/main/java/org/apache/nifi/json/AbstractJsonRowRecordReader.java
@@ -43,8 +43,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.text.DateFormat;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.function.BiPredicate;
@@ -119,7 +119,7 @@ public abstract class AbstractJsonRowRecordReader implements RecordReader {
 
         this.strategy = strategy;
         this.captureFieldPredicate = captureFieldPredicate;
-        capturedFields = new HashMap<>();
+        capturedFields = new LinkedHashMap<>();
 
         try {
             jsonParser = jsonFactory.createParser(in);
@@ -306,7 +306,7 @@ public abstract class AbstractJsonRowRecordReader implements RecordReader {
         final MapDataType mapDataType = (MapDataType) dataType;
         final DataType valueType = mapDataType.getValueType();
 
-        final Map<String, Object> mapValue = new HashMap<>();
+        final Map<String, Object> mapValue = new LinkedHashMap<>();
 
         final Iterator<Map.Entry<String, JsonNode>> fieldItr = fieldNode.fields();
         while (fieldItr.hasNext()) {
@@ -372,7 +372,7 @@ public abstract class AbstractJsonRowRecordReader implements RecordReader {
 
     private Record createRecordFromRawValue(final JsonNode fieldNode, final RecordSchema childSchema) throws IOException {
         final Iterator<String> fieldNames = fieldNode.fieldNames();
-        final Map<String, Object> childValues = new HashMap<>();
+        final Map<String, Object> childValues = new LinkedHashMap<>();
         while (fieldNames.hasNext()) {
             final String childFieldName = fieldNames.next();
 
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/json/TestJsonTreeRowRecordReader.java b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/json/TestJsonTreeRowRecordReader.java
index e8b0b6c48c..1f77aa6318 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/json/TestJsonTreeRowRecordReader.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/json/TestJsonTreeRowRecordReader.java
@@ -423,7 +423,7 @@ class TestJsonTreeRowRecordReader {
         fields.add(new RecordField("id", RecordFieldType.INT.getDataType()));
         final RecordSchema schema = new SimpleRecordSchema(fields);
 
-        final String expectedMap = "{id=1, name=John Doe, address=123 My Street, city=My City, state=MS, zipCode=11111, country=USA, account=MapRecord[{balance=4750.89, id=42}]}";
+        final String expectedMap = "{id=1, name=John Doe, address=123 My Street, city=My City, state=MS, zipCode=11111, country=USA, account=MapRecord[{id=42, balance=4750.89}]}";
         final String expectedRecord = String.format("MapRecord[%s]", expectedMap);
         try (final InputStream in = new FileInputStream("src/test/resources/json/single-element-nested.json");
              final JsonTreeRowRecordReader reader = new JsonTreeRowRecordReader(in, mock(ComponentLog.class), schema, dateFormat, timeFormat, timestampFormat)) {


[nifi] 02/02: NIFI-10891 Replaced HashMap with LinkedHashMap in BinFiles

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit ee5d557d2a0a155493d0bf2b59946455a26cd792
Author: sopan98 <ph...@gmail.com>
AuthorDate: Mon Nov 28 23:57:16 2022 -0600

    NIFI-10891 Replaced HashMap with LinkedHashMap in BinFiles
    
    - Resolved non-deterministic behavior in TestMergeContent.testDefragmentMultipleMingledSegments
    
    This closes #6727
    
    Signed-off-by: David Handermann <ex...@apache.org>
---
 .../src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
index c9d40829dd..ba363bb58e 100644
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
@@ -36,7 +36,7 @@ import org.apache.nifi.processor.util.StandardValidators;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Queue;
@@ -280,7 +280,7 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
                 break;
             }
 
-            final Map<String, List<FlowFile>> flowFileGroups = new HashMap<>();
+            final Map<String, List<FlowFile>> flowFileGroups = new LinkedHashMap<>();
             for (FlowFile flowFile : flowFiles) {
                 flowFile = this.preprocessFlowFile(context, session, flowFile);