-
-
Notifications
You must be signed in to change notification settings - Fork 1
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
feat(protobuf) Add support for protobuf message topics #344
Conversation
For taskworkers (and likely other topics) in the future, we would like to put protobuf serialized messages into the topic instead of json/msgpack. Using protobufs will let us have one message schema for both kafka, rpc and application logic. In order to get access to the protobuf generated code, I've needed to expand the dependencies of this library. I thought this was the simplest to build and maintain solution.
topics/task-worker.yaml
Outdated
# TODO(mark) protobuf support | ||
type: json | ||
resource: taskworker.v1.schema.json | ||
compatibility_mode: backward |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how does this compatibility mode actually affect functionality?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had interpreted this as indicating that the messages in the topic were backwards compatible. However, we have no topics with this mode right now, which makes me think it may not be complete.
We don't have any topics that are backward yet.
Our protos package isn't compatible with python 3.9. 3.9 went end of life mid 2022 and I don't think we have any applications still running on 3.9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
The one question I had is whether we still want to maintain a separate sentry-protos
repo now that this repo supports protobuf. We could consolidate the two.
For taskworkers (and likely other topics) in the future, we would like to put protobuf serialized messages into the topic instead of json/msgpack. Using protobufs will let us have one message schema for both kafka, rpc and application logic.
In order to get access to the protobuf generated code, I've needed to expand the dependencies of this library. I thought this was the simplest to build and maintain solution.