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

cwylie pushed a commit to branch 0.14.1-incubating
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git

commit f735f2151e5c6fe3f275f85a741d19154153e770
Author: Christian Senet <[email protected]>
AuthorDate: Mon Mar 18 22:23:53 2019 +0100

    Fix flattening Avro Maps with Utf8 keys (#7258)
    
    * #5884 Avro Maps can't be flattened in Kafka Indexing on master
    
    * correct typo and reduce code size
---
 .../apache/druid/data/input/avro/GenericAvroJsonProvider.java    | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
 
b/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
index 4beb757..bfb6e22 100644
--- 
a/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
+++ 
b/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
@@ -23,6 +23,7 @@ import com.jayway.jsonpath.InvalidJsonException;
 import com.jayway.jsonpath.spi.json.JsonProvider;
 import org.apache.avro.Schema;
 import org.apache.avro.generic.GenericRecord;
+import org.apache.avro.util.Utf8;
 
 import java.io.InputStream;
 import java.util.ArrayList;
@@ -146,7 +147,13 @@ public class GenericAvroJsonProvider implements 
JsonProvider
     } else if (o instanceof GenericRecord) {
       return ((GenericRecord) o).get(s);
     } else if (o instanceof Map) {
-      return ((Map) o).get(s);
+      final Map theMap = (Map) o;
+      if (theMap.containsKey(s)) {
+        return theMap.get(s);
+      } else {
+        final Utf8 utf8Key = new Utf8(s);
+        return theMap.get(utf8Key);
+      }
     } else {
       throw new UnsupportedOperationException(o.getClass().getName());
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to