Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schema Registry implementation for Protobuf desired #219

Open
xufuture opened this issue Aug 2, 2017 · 9 comments
Open

Schema Registry implementation for Protobuf desired #219

xufuture opened this issue Aug 2, 2017 · 9 comments

Comments

@xufuture
Copy link

xufuture commented Aug 2, 2017

Due to gRPC's popularity in many embedded systems, Schema Registry for Protobuf is highly desired, which is also already claimed by Hortonworks as an advantage over other choice (http://registry-project.readthedocs.io/en/latest/competition.html)

@satishd
Copy link
Contributor

satishd commented Aug 3, 2017

@xufuture protobuf encoded messages contain information about schema and it may not require for users to pass schema version ids etc with the payload. IMHO, SchemaRegistry is still useful for protobuf in schema discovery and respective serializer/deserializer. (disclaimer: I am not an expert in protobuf and its APIs)
What are your usecases for protobuf support in SchemaRegistry?

@jhsenjaliya
Copy link

@satishd protobuf does not contain schema in its encoded message, you require generated class from IDL to decode it. although it requires code generation(compilation of IDL) before its use, If hortonworks schema registry can provide support to store and check backward/forward compatibility it would be very useful as @xufuture mentioned.

@jhsenjaliya
Copy link

@satishd @raju-saravanan @arunmahadevan we are planning to add protobuf support. created #721 can u guys pls provide comments and support or direct to right engineers who can help us review? Thanks

@michaelandrepearce
Copy link
Collaborator

I think using the json representation of the schema e.g. the proto variant would be better. As like done with avro. The protobuf json schema is more workable when doing bits in ui etc.

@michaelandrepearce
Copy link
Collaborator

Need to ensure the confluent sr compatibility api works with protobuf in same was confluents sr does to maintain compatibility.

@jhsenjaliya
Copy link

Regarding JSON, yes, that would an easy way, but it changes the schema language. we can probaly have both. would start with JSON for now. Thanks for the suggestion.

@michaelandrepearce
Copy link
Collaborator

michaelandrepearce commented May 8, 2020

Dont forget about compatibility layer we have with confluents which theire supports proto now. As they provide many kafka clients for other languages such as .net c++ etc and thus makes ability to use those with this registry.

@jhsenjaliya
Copy link

Sure, I may have to take some iterative way of adding all these, as I am only adding the basic protobuf support first. but I will make sure we dont break any exisiting feature like the one u just mentioned - compatibility with confluent api.

@michaelandrepearce
Copy link
Collaborator

michaelandrepearce commented May 9, 2020

The reason i flag that is that its important from the outset is incase the way the confluent api and proto clients handle it differ to the way you initally thought to do then you will have big compatibility issues later. Which unless designed in at first it will be problematic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants