diff --git a/proto/catalog.proto b/proto/catalog.proto index 8a360418159b3..550a7bdf044be 100644 --- a/proto/catalog.proto +++ b/proto/catalog.proto @@ -52,6 +52,11 @@ message StreamSourceInfo { // deprecated plan_common.RowFormatType row_format = 1; string row_schema_location = 2; + // This means *use **confluent** schema registry* and is `false` for **aws glue** schema registry. + // Eventually we will deprecate it and rely on `enum SchemaLocation` derived from `format_encode_options` below. + // * schema.location false + // * schema.registry true + // * aws.glue.schema_arn false bool use_schema_registry = 3; string proto_message_name = 4; int32 csv_delimiter = 5; diff --git a/src/connector/src/parser/avro/parser.rs b/src/connector/src/parser/avro/parser.rs index aace71e62e5dd..d6b18bf398a75 100644 --- a/src/connector/src/parser/avro/parser.rs +++ b/src/connector/src/parser/avro/parser.rs @@ -115,6 +115,11 @@ impl AvroAccessBuilder { } } WriterSchemaCache::Glue(resolver) => { + // + // byte 0: header version = 3 + // byte 1: compression: 0 = no compression; 5 = zlib (unsupported) + // byte 2..=17: 16-byte UUID as schema version id + // byte 18..: raw avro payload if payload.len() < 18 { bail!("payload shorter than 18-byte glue header"); }