Thanks Alok,

I'd come across that and begun playing with different values for that. Tweaking 
it has done exactly what I was after. I'm now getting the desired behaviour.

Thanks again for the speedy response,

Cheers,
Chris 

> On 22 Jul 2019, at 09:36, Alok Dwivedi <alok.dwiv...@instaclustr.com> wrote:
> 
> Hi Chris
> Since you are only missing the very first message sent to that topic, I 
> wonder its related to " auto.offset.reset" consumer setting. This setting 
> controls what happens when no offset is present for a topic (most commonly 
> the case when there has been no consumer yet for that topic) 
> 
> From documentation:
> "Use auto.offset.reset to define the behaviour of the consumer when there is 
> no committed position (which would be the case when the group is first 
> initialized) or when an offset is out of range. You can choose either to 
> reset the position to the "earliest" offset or the "latest" offset (the 
> default). You can also select "none" if you would rather set the initial 
> offset yourself and you are willing to handle out of range errors manually."
> 
> With default behaviour of "latest" there is a possibility that consumer is 
> not yet ready to listen to messages by the time 1st message was sent but then 
> its ready and starts consuming from 2nd (latest since its stared listening). 
> You can prove or disprove this theory of mine by changing default to 
> "earliest" and see if you always get messages from beginning once default is 
> overridden (or not). 
> 
> Thanks 
> Alok Dwivedi
> Senior Consultant
> https://www.instaclustr.com/platform/
> 
> 
> On 19/07/2019, 14:01, "Chris Hampson" <ch...@hampson.dev> wrote:
> 
>    Hi all,
> 
>    Tl;dr: I want to set up a subscription based on patterns that will match 
> non-existent topics and receive all messages that match (e.g. test.*), 
> missing first message to any new matching topic, set 
> auto.create.topics.enable=true and allow.auto.create.topics=true and very low 
> metadata.max.age.ms
> 
>    I've been playing around with Kafka trying to build a PoC for a cluster 
> event notification system. I can't /quite/ get it doing what I'm after (at 
> the moment). No doubt this is me missing some little nugget in the docs, or 
> mis-understanding something. I've also searched around, but perhaps am using 
> the wrong terms.
> 
>    I'd like to set up a consumer with a topic pattern along the lines of 
> "test.*" then have it pick up all messages sent to topics that match that 
> pattern. So far I'm missing the first new message sent to a new pattern.
> 
>    e.g. it will miss the first message sent to test.a, but catch subsequent 
> ones.
> 
>    I've set the following:
>    auto.create.topics.enable=true
>    allow.auto.create.topics=true
> 
>    And in the consumer properties I've set metadata.max.age.ms very low 
> (around 50). (I'm not sure what kind of performance problems doing this could 
> do in production with multiple consumers.)
> 
>    Yet I'll still (almost always) miss the first message to a new topic in 
> the pattern.
> 
>    If anyone has any ideas, or even better things to google for to help solve 
> this I'd be most appreciative even if the result is "you just won't be able 
> to do what you want" ;-)
> 
>    Many thanks in advance,
> 
>    Chris
> 


Reply via email to