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

feat(protobuf) Add support for protobuf message topics #344

Merged
merged 15 commits into from
Oct 31, 2024

Conversation

markstory
Copy link
Member

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.

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.
@markstory markstory requested review from a team as code owners October 29, 2024 21:19
# TODO(mark) protobuf support
type: json
resource: taskworker.v1.schema.json
compatibility_mode: backward
Copy link
Member

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?

Copy link
Member Author

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
Copy link
Member

@evanh evanh left a 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.

@markstory markstory linked an issue Oct 31, 2024 that may be closed by this pull request
@markstory markstory merged commit 1abd122 into main Oct 31, 2024
16 checks passed
@markstory markstory deleted the protobuf-support branch October 31, 2024 18:38
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

Successfully merging this pull request may close these issues.

Add support for topics with protobuf messages
3 participants