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)