What happened?
A Python pipeline fails to decode a schema produced by a Java cross-language transform when the schema contains an ARRAY<STRING> option.
This was observed while exposing DebeziumIO through DebeziumReadSchemaTransformProvider. The output schema includes the following metadata:
Schema.Options.builder()
.setOption(
"primaryKeyColumns",
Schema.FieldType.array(Schema.FieldType.STRING),
primaryKeyColumns)
When this schema crosses the Java/Python expansion boundary and is consumed by a schema-aware Python transform such as MapToFields, pipeline construction fails with:
ValueError: Failed to decode schema due to an issue with Field proto
The relevant Runner API schema contains:
options {
name: "primaryKeyColumns"
type {
array_type {
element_type {
atomic_type: STRING
}
}
}
value {
array_value {
element {
atomic_value {
string: "id"
}
}
}
}
}
Current workaround:
Temporarily omit the primaryKeyColumns option from the Debezium output schema.
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components
What happened?
A Python pipeline fails to decode a schema produced by a Java cross-language transform when the schema contains an
ARRAY<STRING>option.This was observed while exposing
DebeziumIOthroughDebeziumReadSchemaTransformProvider. The output schema includes the following metadata:When this schema crosses the Java/Python expansion boundary and is consumed by a schema-aware Python transform such as
MapToFields, pipeline construction fails with:ValueError: Failed to decode schema due to an issue with Field protoThe relevant Runner API schema contains:
Current workaround:
Temporarily omit the
primaryKeyColumnsoption from the Debezium output schema.Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components