Frank Grimes created AVRO-2943:
----------------------------------

             Summary: Map comparison between Utf8 and String keys fails
                 Key: AVRO-2943
                 URL: https://issues.apache.org/jira/browse/AVRO-2943
             Project: Apache Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.10.0
         Environment: Mac OS Catalina 10.15.6

 

openjdk version "1.8.0_265"

OpenJDK Runtime Environment Corretto-8.265.01.1 (build 1.8.0_265-b01)

OpenJDK 64-Bit Server VM Corretto-8.265.01.1 (build 25.265-b01, mixed mode)
            Reporter: Frank Grimes


The following test I locally added to `org.apache.avro.generic.TestGenericData` 
on master demonstrates the problem:
{code:java}
  @Test
  public void testMapKeyEquals() {
    Schema mapSchema = new Schema.Parser().parse("{\"type\": \"map\", 
\"values\": \"string\"}");
    Field myMapField = new Field("my_map", Schema.createMap(mapSchema), null, 
null);
    Schema schema = Schema.createRecord("my_record", "doc", "mytest", false);
    schema.setFields(Arrays.asList(myMapField));
    GenericRecord r0 = new GenericData.Record(schema);
    GenericRecord r1 = new GenericData.Record(schema);    HashMap<CharSequence, 
String> pair1 = new HashMap<>();
    pair1.put("keyOne", "valueOne");
    r0.put("my_map", pair1);    HashMap<CharSequence, String> pair2 = new 
HashMap<>();
    pair2.put(new Utf8("keyOne"), "valueOne");
    r1.put("my_map", pair2);    assertEquals(r0, r1);
    assertEquals(r1, r0);
  }
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to