Yes, this helped. I have some additional questions. Does StreamThread have one consumer? (Looks like it, but just want to confirm) Is there a separate StreamThread for each topic including the KTable? If a KTable is a StreamThread and there is a StreamTask for that KTable, could my buffer be getting filled up, and the mainConsumer for the KTable be getting paused? I see this code in StreamTask#addRecords.
// if after adding these records, its partition queue's buffered size has been // increased beyond the threshold, we can then pause the consumption for this partition if (newQueueSize > maxBufferedSize) { mainConsumer.pause(singleton(partition)); } Is there any specific logging that I can set to debug or trace that would help me troubleshoot? I'd prefer not to turn debug and/or trace on for every single class. Thanks, Chad On Sat, Oct 30, 2021 at 5:20 AM Luke Chen <show...@gmail.com> wrote: > Hi Chad, > > I'm wondering if someone can point me to the Kafka streams internal code > that reads records for the join? > --> You can check StreamThread#pollPhase, where stream thread (main > consumer) periodically poll records. And then, it'll process each topology > node with these polled records in stream tasks (StreamTask#process). > > Hope that helps. > > Thanks. > Luke > > > On Sat, Oct 30, 2021 at 5:42 PM Gilles Philippart > <gilles.philipp...@fundingcircle.com.invalid> wrote: > > > Hi Chad, this talk around 24:00 clearly explains what you’re seeing > > > https://www.confluent.io/events/kafka-summit-europe-2021/failing-to-cross-the-streams-lessons-learned-the-hard-way/ > > < > > > https://www.confluent.io/events/kafka-summit-europe-2021/failing-to-cross-the-streams-lessons-learned-the-hard-way/ > > > > > > > Gilles > > > > > On 30 Oct 2021, at 04:02, Chad Preisler <chad.preis...@gmail.com> > wrote: > > > > > > Hello, > > > > > > I have a stream application that does a KStream to KTable left join. We > > > seem to be occasionally missing joins (KTable side is null). > > > > > > I'm wondering if someone can point me to the Kafka streams internal > code > > > that reads records for the join? I've poked around the Kafka code base, > > but > > > there is a lot there. I imagine there is some consumer poll for each > side > > > of the join, and possibly a background thread for reading the KTable > > topic. > > > > > > I figure there are several possible causes of this issue, and since > > nothing > > > is really jumping out in my code, I was going to start looking at the > > Kafka > > > code to see if there is something I can do to fix this. > > > > > > Thanks, > > > Chad > > > > > > -- > > > > > > > > > > Funding Circle Limited is authorised and regulated by the Financial > > Conduct Authority under firm registration number 722513. Funding Circle > is > > not covered by the Financial Services Compensation Scheme. Registered in > > England (Co. No. 06968588) with registered office at 71 Queen Victoria > > Street, London EC4V 4AY. > > >