Skip to content

Move to the Kafka 0.10 message format (with timestamps) #381

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

Merged
merged 1 commit into from
Oct 23, 2017

Conversation

dasch
Copy link
Contributor

@dasch dasch commented Jul 26, 2017

#376 was merged, effectively ending backwards compatibility with Kafka 0.9, because I thought we were ready to move off Kafka 0.9. This has proven to not be the case, so I'm not comfortable with having the main line of development (master) only be compatible with a version of Kafka I'm not personally running.

Native Kafka 0.10 support (without protocol format re-writing on the broker side) has been postponed.

@dasch dasch changed the title Restore pull request #376 from zendesk/dasch/message-timestamps Move to the Kafka 0.10 message format (with timestamps) Jul 26, 2017
@isaacseymour
Copy link
Contributor

@dasch is there any chance of creating a second branch for 0.10 support, with RubyGems releases? I'd really love to use the broker timestamps to improve our monitoring of Kafka, but that requires the 0.10 API.

@dasch
Copy link
Contributor Author

dasch commented Aug 9, 2017

I probably won't do Rubygems releases, as that would require me to keep the two branches in sync at all times, but I can try to rebase this branch from time to time and you can depend on it from your Gemfile. Would that work?

@isaacseymour
Copy link
Contributor

Hey @dasch, looks like 0.5.x is targetting the Kafka 0.10 API? Is that correct? If so, anyone wanting to use 0.10 API features can start using the beta of that I think? Maybe worth putting in the README if so.

@dasch
Copy link
Contributor Author

dasch commented Aug 22, 2017

@isaacseymour I've pulled the beta from Rubygems because I wanted to continue development on the master branch and be able to push 0.9 compatible releases from that (as I'm only able to run 0.9 in production myself.)

Once I have a production environment running 0.10+ I'll switch the master branch over to be 0.10 compatible and cut a stable branch for 0.9 support.

@dasch dasch added this to the v0.5 milestone Oct 20, 2017
@dasch
Copy link
Contributor Author

dasch commented Oct 20, 2017

Update: planning on cutting a stable branch for 0.4 on Monday, then merging this and releasing v0.5.0!

@dasch dasch merged commit 29833cd into master Oct 23, 2017
@dasch dasch deleted the dasch/restore-timestamps branch October 23, 2017 07:15
@@ -38,11 +38,14 @@ def initialize(name:, partitions:)

attr_reader :topics

def initialize(topics: [])
def initialize(topics: [], throttle_time_ms: 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the throttle_time_ms going to be configurable?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not set by the client, but rather by the broker. From the docs:

Duration in milliseconds for which the request was throttled due to quota violation. (Zero if the request did not violate any quota.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have any plans to add support for quotas, but I'm totally open to PRs :)

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.

3 participants