Hi again,

On Thu, 7 Nov 2019 at 23:40, Oliver Eckle <iee1...@gmx.de> wrote:

> Hi,
>
> slow consumers - that could be the case. But why is that an issue? I mean
> I try to use kafka exactly for that and the ability to recover.
> So e.g if there is some burst scenario where a lot of data arrives and has
> to be processed, a "slow consumer" will be the default case.
> What I could understand, that having constantly slow consumers will be an
> issue, e.g. if there is some compaction on the topic or data will be
> erased, without having been read.
>
> This is what I think about the "lagging topic"
> The scenario is like that:
>
> Producer --- Topic C ---> Consumer --- Processing ---> external REST
> Endpoint
>
> Sending a Record to the external REST Endpoint takes around 300ms.
> So if I have the "burst scenario" I mentioned above, there is maybe a lag
> of 1000-2000 records.
> So consumer is pulling 500 and process them, which means it takes around
> 150s for the app to process the records.
> This could create some timeouts I guess ... so that’s the reason why I try
> to lower the poll records to 50 e.g. cause then is takes only 15s until the
> poll is committed.
>
> Yeah having some liveness probe sounds pretty elegant .. give that a try
> ...
> Anyway, I need to understand why that is happening to deal with the
> scenario the correct way.. killing the consumer after he stops to consume
> messages, seems to me more like a workaround.
>
> Regards
>
As per your previous replies, if you have 2 partitions with that topic, you
can distribute all data between 2 consumers in your cgroup, and process
information. But given your data burst case, I would advise you increase
your number of partitions and spread the burst across. Just like any other
tool, Kafka requires certain level of configuration to achieve what you
want. I would recommend you increase your partitions and consumers to
spread the load.

Regards,

>
> -----Ursprüngliche Nachricht-----
> Von: M. Manna <manme...@gmail.com>
> Gesendet: Freitag, 8. November 2019 00:24
> An: users@kafka.apache.org
> Betreff: Re: Consumer Lags and receive no records anymore
>
> Hi,
>
> > On 7 Nov 2019, at 22:39, Oliver Eckle <iee1...@gmx.de> wrote:
> >
> > Have a consumer group with one consumer for the topic .. by
> misunderstanding I have two partitions on the topic ..
> > Due to having no key set for the record - I think having several
> consumers making no sense, or am I wrong.
> >
> I am not sure why that would be an issue. If you have 1 consumer your
> cgroup, yes all the topic partitions will be assigned to that consumer.
> Slow consumer means your consumers aren’t consuming messages as fast as you
> are producing (or, fast enough).
> > Is there any possibility to work around that?
> > Cause for example on lagging topic is put to a external REST service,
> which takes around 300ms to be handled.
> What do you mean by “Lagging topic is put to an external REST service”?
> > So is lowering the max.poll.records an option?
> Polling will keep blocking continuously until minimum bytes of records
> available. Also, it sends a heartbeat per call of poll().
> > Anyhow, I could probably not avoid situations like that. Sounds to me
> like a pretty common scenario?
> > So how to deal with them? Having a health check that crush the app if no
> data is appearing anymore?
> In K8s world, you can tie this with liveness probe, if you consumers
> aren’t live and then you may chose to destroy the pod and bring them back
> up. Provided that your offset commits are adhering to how technical
> requirements, you should be able to recover based on the last committed
> offset. Try that and see how it goes.
> >
> > Regards
> >
> > -----Ursprüngliche Nachricht-----
> > Von: M. Manna <manme...@gmail.com>
> > Gesendet: Donnerstag, 7. November 2019 23:35
> > An: users@kafka.apache.org
> > Betreff: Re: Consumer Lags and receive no records anymore
> >
> > Consuming not fast/frequent enough is one of the most common reasons for
> it. Have you you checked how fast/much message you’re churning out vs. how
> many consumers you have in the group the handle the workload?
> >
> > Also, what are your partition setup for consumer groups?
> >
> >
> > Regards,
> >
> > On Thu, 7 Nov 2019 at 22:03, Oliver Eckle <iee1...@gmx.de> wrote:
> >
> >> Using  kafka-consumer-groups.sh --bootstrap-server localhost:9092
> >> --describe -group my-app ..
> >> put the output within the logs .. also its pretty obvious, cause no
> >> data will flow anymore
> >>
> >> Regards
> >>
> >> -----Ursprüngliche Nachricht-----
> >> Von: M. Manna <manme...@gmail.com>
> >> Gesendet: Donnerstag, 7. November 2019 22:10
> >> An: users@kafka.apache.org
> >> Betreff: Re: Consumer Lags and receive no records anymore
> >>
> >> Have you checked your Kafka consumer group status ? How did you
> >> determine that your consumers are lagging ?
> >>
> >> Thanks,
> >>
> >> On Thu, 7 Nov 2019 at 20:55, Oliver Eckle <iee1...@gmx.de> wrote:
> >>
> >>> Hi there,
> >>>
> >>>
> >>>
> >>> have pretty strange behaviour questioned here already:
> >>> https://stackoverflow.com/q/58650416/7776688
> >>>
> >>>
> >>>
> >>> As you could see from the logs: https://pastebin.com/yrSytSHD at a
> >>> specific point the client is stopping to receive records.
> >>>
> >>> I have a strong suspicion that it relates to performance on handling
> >>> the records - so that I run into kind of timeout.
> >>>
> >>> What seems to be strange, is that the client is not getting back and
> >>> heartbeats are processed successfully.
> >>>
> >>> Even the consumer will be returned on inspecting the consumer group.
> >>> Any idea .. kafka log has no error in it.
> >>>
> >>>
> >>>
> >>> Running a cluster with 3 broker inside a Kubernetes cluster, using
> >>> the bitnami helm chart.
> >>>
> >>>
> >>>
> >>> Kind Regards
> >>>
> >>> Oliver
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >
>
>
>

Reply via email to