fgeller / kt

Kafka command line tool that likes JSON
MIT License
950 stars 100 forks source link

Enhancement: reset group offsets to a specific time #141

Closed jvansanten closed 10 months ago

jvansanten commented 10 months ago

For partitioned topics, it's often useful to reset the group position all partitions to a specific time rather than a specific offset. This PR teaches kt group -reset to accept a time string (as parsed by https://github.com/markusmobius/go-dateparser) in addition to the special values newest and oldest. For example, kt group -group some-group -topic some topic -reset "6 hours ago" is much more convenient than trying to figure out which offsets correspond to that time and invoking kt group -reset for each of N partitions.

Also, kt group -reset ARG prints the resulting offsets and lags when ARG is "newest", "oldest" or a time string, rather than omitting them on the assumption that the lag is unknown. As far as I can tell the value of specialOffset is unrelated to whether the offset was previously stored on the broker or not.

fgeller commented 10 months ago

thank you! will pull this in and resolve conflicts on main. do you maybe want to follow up with updates to --help similar to the other pr?