-
Notifications
You must be signed in to change notification settings - Fork 23
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
#38 Set message time when publishing #85
base: master
Are you sure you want to change the base?
Conversation
straightforward and I'd like see if there's anything I missed. We need to figure out what to do with the throttle time, and see if this breaks the consumer.
Sorry it took so long to respond here — I'm trying as best I can to get #37 in before vacation next week. I don't think that the changes to For reference I think that KIP-32 is the original KIP with background on timestamps. Producing with TimestampsIf you only need timestamps when producing messages you don't need to change Consuming TimestampsAdding timestamps to the consumer API is more complicated. The existing def processor(messages):
for sourced_message in messages:
the_bytes = sourced_message.message.value I think that we could do with some changes here (again also considering how to add headers), but the best way to do it is probably to add a new consumer API. ThrottlingI think that handling the throttle time can be handled as a separate PR. I skimmed a few KIPs that talk about it, and it seems that it only comes up when quotas are involved? I'm not sure about that, but we can handle it at a quite different layer so splitting it up would be reasonable. |
No problem! I agree with you on most of the points actually, was just trying to get something quick and dirty out there to see if the project is active. The reason for the patch by the way is that if you try to use KSQL with this producer, it results in errors:
So your choices are to use a TimestampExtractor (which is kind of a pain) or patch the encoding. For the Internet's benefit, you can work around this by setting Do you see a need to continue to support MessageSet v0 production? I think some older Kafka servers may require it. I'll try to find some time to revise this in the next couple of weeks. If you're going to introduce a more structured message production class though perhaps I will just wait for that. |
No, no need to support MessageSet v0. We already dropped support for brokers that old in Afkak. It's best not to wait for me, as I have lots of tasks competing for Afkak time. I will do my best to review promptly, though. |
Just to follow up on throttling, I stumbled across the primary KIP for it: KIP-124 Request rate quotas. It looks like the field is just an FYI — it is the time the request was throttled — so we don't need to take any particular action client-site. |
I'd like to get some feedback on this -- the basics seem pretty straightforward and I'd like see if there's anything I missed. I need to figure out what to do with the throttle time, and see if this breaks the consumer.