Closed
Description
Expected Behavior
We want to be able to seek offset for specific consumer group by using AbstractConsumerSeekAware.
Current Behavior
regarding to below implementation it is clear that we can seek offset for all assigned partitions in a topic regardless of different consumer group ids.
@Override
public void onPartitionsAssigned(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback) {
super.onPartitionsAssigned(assignments, callback);
}
@Override
public void seekToTimestamp(long time) {
getSeekCallbacks().forEach((tp, callback) -> {
callback.seekToTimestamp(tp.topic(), tp.partition(), time);
});
}
Context
For our use case there might be more than one group instance which is assigned same partition in a topic. Below example might be useful to describe our case:
- we have one topic let's name it: product.feed.fullexport, it has 12 partitions.
- 10 different micro-services with different group ids are listening same topic and each has 12 concurrent consumers.
- when we want to seek offset by using above ConsumerSeekCallback implementation for one of the micro-service, it affects all assigned partitions and listening consumer instances regardless to expected group id.
Is there any way to seek offset in a partition but only for specific group id?