-
-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Copy messages from topic A to topic B #108
Comments
Is anyone working on this or can I pick up this issue. I am kinda new to golang and have worked on some cli implementations in go. |
afaik nobody is currently working on it. however there's definitely a hunger for it - at least from my side. at work, it's a common case for me to copy messages from a topic - a dead letter queue topic - to another topic, so it will be re-processed. i can definitely support you working on this and getting it merged, but i won't be able to help on the code level as i'm currently working on #69. i suggest as a first step, we should discuss the goals and how the CLI command & flags could look like. i'd prefer to stay with obvious names, e.g. |
Thanks, @birdayz for the quick response. I can clearly understand the urge of this feature and I have myself wrote small python scripts of Kafka streams to do these things. However, before implementing the code I guess the right thing to do would be to think more on the flags and arguments. For now, I can see these things would have to be supported for cure.
I can start working on the first cut of this command with a basic implementation. Please give me any suggestion on the features to be implemented. I will think a little more on the flags that needs to be there for sure. I guess I can implement in the code myself but may need some of your help in refactoring the code. |
Hi @birdayz. Sorry for the disturbance. But start the basic implementation? |
kaf cp topic-a topic-b (intra-cluster)
Examples: Copy from offset 5k on all partitions to 6k: Copy from offset 5k on all partitions to end: Copying from timestamp is also VERY nice. You can look at the About group: if the group already exists - so the tool was started multiple times with the same flags to scale the copy - it should detect that and not reset the offset again to the given offset. happy to hear your ideas! |
Thanks @birdayz for validating my ideas. The command But I am little sceptical around giving offset ranges for a copy as I can not see a use case where I need from a certain offset ranges for all the partitions. Secondly, how are we planning to have the latest flag incorporated before consuming? If we are planning for inter-cluster copy(I am still not sure how feasible it is but it's a thing that most people would want as mirror make is not that straight forward to use). So I can see people want to consume from the latest offset to a topic in another cluster. Please give me more suggestion around this. I am starting to go through the modules and all and will start the implementation soon. In the first-cut, I was thinking to have an intra-cluster copy with offset range only which we can extend in the later implementations to give other features like timestamp ranges and inter-cluster copy. |
Can you elaborate the use cases you see? Different offsets is probably very specific, i agree, let's ignore this for the moment. |
Hi @birdayz. Yeah, I was also thinking about the behaviour of end offset. I am jotting down all the possible scenarios that I can see.
I feel like there is a hunger for both the kind of features for two completely different use cases. I would suggest let's start with a simpler implementation first(case-1). If we feel like there is a higher demand for the later feature, we will implement that accordingly. |
No description provided.
The text was updated successfully, but these errors were encountered: