pulsar-dotpulsar icon indicating copy to clipboard operation
pulsar-dotpulsar copied to clipboard

[WIP] Multi-topics consumer and partitioned consumer support

Open RobertIndie opened this issue 4 years ago • 4 comments

This PR adds support for the multi-topics consumer and partitioned consumer.

Co-authored-by: Zike Yang [email protected] Co-authored-by: Zixuan Liu [email protected]

RobertIndie avatar Aug 18 '21 08:08 RobertIndie

Hi, I was going through the PR so what's the status of this?

RagingKore avatar Jan 26 '22 15:01 RagingKore

Quick questions:

  • why change MessageId class to IMessageId?
  • why do we need Nito.AsyncEx?

RagingKore avatar Jan 26 '22 15:01 RagingKore

My suggestion would be to simply had a Topic property to the MessageId and then add a new method to the consumer public static Task<MessageIds[]> GetTopicLatestMessageIds(Topic topic)

This gives us much more visibility, and reduces complexity. and points of failure.

RagingKore avatar Jan 26 '22 16:01 RagingKore

On the AutoUpdatePartitions feature.

IMHO this behaviour should be native and always automatically be handled internally while raising an event to allow the user to react to the rebalance by finishing some pending processing of messages and acknowledging their ids.

Just like Kafka clients already allow.

Plus 1 minute interval to check for partition changes seems a bit to long for any type of stream processing. A default of 5 seconds would be a more advisable value.

RagingKore avatar Jan 26 '22 17:01 RagingKore