Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #278
Description
This PR introduces the
PROTOBUF
value format to ksqlDB:ProtobufFormat
class andProtobufSerdeFactory
to handle most of the heavy liftingParsedSchema
andorg.apache.kafka.connect.Schema
now happens in theFormat
interface (cf.SchemaRegistryTopicSchemaSupplier
)AvroSchema
in its interface (instead it will convert it to aParsedSchema
) (cf.TestExecutorUtil
,Topic
,SerdeUtil
andTopicNode
)RecordFormatter
for printing outPRINT <topic>
commands with PROTOBUF formatNote on
null
and Default ValuesProtobuf handles
null
values differently thanAVRO
andJSON
. Namely, it doesn't have the true concept of anull
value so the way it converts between PROTOBUF and Java (Connect) objects is undefined. For the most part, it will resolve a "missing field" to its default value:See the QTT tests for clarification on these default values.
Testing done
Honestly, 90% of this PR affects only test code :)
PROTOBUF
to many QTT testsReviewer checklist