This is an automated email from the ASF dual-hosted git repository. nehapawar pushed a commit to branch revert-8600-complex_type_patch in repository https://gitbox.apache.org/repos/asf/pinot.git
commit be9ddf7282bc0e2e0bd9c9724864b56a0da72c8d Author: Neha Pawar <[email protected]> AuthorDate: Wed May 4 19:09:52 2022 -0700 Revert "Bug fix: Complex type transformer should not be created for empty config (#8600)" This reverts commit 6484742ada6bbddd1d5976c075d7ab4e225e0093. --- .../recordtransformer/ComplexTypeTransformer.java | 3 +- .../ComplexTypeTransformerTest.java | 52 ++++++---------------- 2 files changed, 15 insertions(+), 40 deletions(-) diff --git a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformer.java b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformer.java index fea6590eb6..91679cda4a 100644 --- a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformer.java +++ b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformer.java @@ -136,8 +136,7 @@ public class ComplexTypeTransformer implements RecordTransformer { */ @Nullable public static ComplexTypeTransformer getComplexTypeTransformer(TableConfig tableConfig) { - if (tableConfig.getIngestionConfig() != null && tableConfig.getIngestionConfig().getComplexTypeConfig() != null - && tableConfig.getIngestionConfig().getComplexTypeConfig().getFieldsToUnnest() != null) { + if (tableConfig.getIngestionConfig() != null && tableConfig.getIngestionConfig().getComplexTypeConfig() != null) { return new ComplexTypeTransformer(tableConfig); } return null; diff --git a/pinot-segment-local/src/test/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformerTest.java b/pinot-segment-local/src/test/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformerTest.java index c2b0d9fe8f..a2a4297646 100644 --- a/pinot-segment-local/src/test/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformerTest.java +++ b/pinot-segment-local/src/test/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformerTest.java @@ -22,17 +22,12 @@ import com.google.common.collect.ImmutableMap; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.pinot.spi.config.table.TableConfig; -import org.apache.pinot.spi.config.table.TableType; import org.apache.pinot.spi.config.table.ingestion.ComplexTypeConfig; -import org.apache.pinot.spi.config.table.ingestion.IngestionConfig; import org.apache.pinot.spi.data.readers.GenericRow; -import org.apache.pinot.spi.utils.builder.TableConfigBuilder; import org.testng.Assert; import org.testng.annotations.Test; @@ -303,8 +298,8 @@ public class ComplexTypeTransformerTest { // { // "array":"[1,2]" // } - transformer = new ComplexTypeTransformer(Arrays.asList(), ".", ComplexTypeConfig.CollectionNotUnnestedToJson.ALL, - new HashMap<>()); + transformer = new ComplexTypeTransformer(Arrays.asList(), ".", + ComplexTypeConfig.CollectionNotUnnestedToJson.ALL, new HashMap<>()); genericRow = new GenericRow(); array = new Object[]{1, 2}; genericRow.putValue("array", array); @@ -349,8 +344,8 @@ public class ComplexTypeTransformerTest { array1[0] = ImmutableMap.of("b", "v1"); map.put("array1", array1); genericRow.putValue("t", map); - transformer = new ComplexTypeTransformer(Arrays.asList(), ".", ComplexTypeConfig.CollectionNotUnnestedToJson.NONE, - new HashMap<>()); + transformer = new ComplexTypeTransformer(Arrays.asList(), ".", + ComplexTypeConfig.CollectionNotUnnestedToJson.NONE, new HashMap<>()); transformer.transform(genericRow); Assert.assertTrue(ComplexTypeTransformer.isArray(genericRow.getValue("t.array1"))); } @@ -360,8 +355,8 @@ public class ComplexTypeTransformerTest { HashMap<String, String> prefixesToRename = new HashMap<>(); prefixesToRename.put("map1.", ""); prefixesToRename.put("map2", "test"); - ComplexTypeTransformer transformer = - new ComplexTypeTransformer(new ArrayList<>(), ".", DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); + ComplexTypeTransformer transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", + DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); GenericRow genericRow = new GenericRow(); genericRow.putValue("a", 1L); @@ -375,7 +370,8 @@ public class ComplexTypeTransformerTest { // name conflict where there becomes duplicate field names after renaming prefixesToRename = new HashMap<>(); prefixesToRename.put("test.", ""); - transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); + transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", + DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); genericRow = new GenericRow(); genericRow.putValue("a", 1L); genericRow.putValue("test.a", 2L); @@ -389,7 +385,8 @@ public class ComplexTypeTransformerTest { // name conflict where there becomes an empty field name after renaming prefixesToRename = new HashMap<>(); prefixesToRename.put("test", ""); - transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); + transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", + DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); genericRow = new GenericRow(); genericRow.putValue("a", 1L); genericRow.putValue("test", 2L); @@ -402,7 +399,8 @@ public class ComplexTypeTransformerTest { // case where nothing gets renamed prefixesToRename = new HashMap<>(); - transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); + transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", + DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); genericRow = new GenericRow(); genericRow.putValue("a", 1L); genericRow.putValue("test", 2L); @@ -416,8 +414,8 @@ public class ComplexTypeTransformerTest { HashMap<String, String> prefixesToRename = new HashMap<>(); prefixesToRename.put("map1.", ""); prefixesToRename.put("map2", "test"); - ComplexTypeTransformer transformer = - new ComplexTypeTransformer(new ArrayList<>(), ".", DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); + ComplexTypeTransformer transformer = new ComplexTypeTransformer(new ArrayList<>(), ".", + DEFAULT_COLLECTION_TO_JSON_MODE, prefixesToRename); // test flatten root-level tuples GenericRow genericRow = new GenericRow(); @@ -440,26 +438,4 @@ public class ComplexTypeTransformerTest { Assert.assertEquals(genericRow.getValue("im1.bb"), "u"); Assert.assertEquals(genericRow.getValue("test.c"), 3); } - - @Test - public void getComplexTypeTransformerTest() { - ComplexTypeConfig complexTypeConfigWithNullFields = new ComplexTypeConfig(null, null, null, null); - - IngestionConfig ingestionConfig = new IngestionConfig(null, null, null, null, complexTypeConfigWithNullFields); - TableConfig tableConfig = - new TableConfigBuilder(TableType.OFFLINE).setTableName("test_null").setIngestionConfig(ingestionConfig).build(); - - ComplexTypeTransformer complexTypeTransformer = ComplexTypeTransformer.getComplexTypeTransformer(tableConfig); - Assert.assertNull(complexTypeTransformer); - - List<String> fieldToUnnest = Collections.singletonList("foo_bar"); - ComplexTypeConfig complexTypeConfigWithNonNullField = - new ComplexTypeConfig(fieldToUnnest, null, null, null); - ingestionConfig = new IngestionConfig(null, null, null, null, complexTypeConfigWithNonNullField); - tableConfig = - new TableConfigBuilder(TableType.OFFLINE).setTableName("test_non_null").setIngestionConfig(ingestionConfig) - .build(); - complexTypeTransformer = ComplexTypeTransformer.getComplexTypeTransformer(tableConfig); - Assert.assertNotNull(complexTypeTransformer); - } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
