Jeremy Custenborder created KAFKA-4855:
------------------------------------------
Summary: Struct SchemaBuilder should not allow duplicate fields.
Key: KAFKA-4855
URL: https://issues.apache.org/jira/browse/KAFKA-4855
Project: Kafka
Issue Type: Bug
Components: KafkaConnect
Affects Versions: 0.10.2.0
Reporter: Jeremy Custenborder
I would expect this to fail at the build() on schema. It actually makes it all
the way to Struct.validate() and throws a cryptic error message. .field()
should throw an exception if a field is already used.
Repro:
{code}
@Test
public void duplicateFields() {
final Schema schema = SchemaBuilder.struct()
.name("testing")
.field("id", SchemaBuilder.string().doc("").build())
.field("id", SchemaBuilder.string().doc("").build())
.build();
final Struct struct = new Struct(schema)
.put("id", "testing");
struct.validate();
}
{code}
{code}
org.apache.kafka.connect.errors.DataException: Invalid value: null used for
required field at
org.apache.kafka.connect.data.ConnectSchema.validateValue(ConnectSchema.java:212)
at org.apache.kafka.connect.data.Struct.validate(Struct.java:232)
at
io.confluent.kafka.connect.jms.RecordConverterTest.duplicateFieldRepro(RecordConverterTest.java:289)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)