Background

Breakout Session

Otter Romp: Shallow Dives into Kafka Streams

What do you call a group of Kafka Streams developers? What do they spend their time on? And how can you get in on the fun? This talk will leave you with the answers — and hopefully an itching to jump in and get your feet wet too.

We start with a high-level look at what’s going on in the Kafka Streams community with a series of shallow dives into some of the lesser known recent, upcoming, and ongoing KIPs. We’ll shine the spotlight on some small-but-no-less-interesting work that hasn’t had its own dedicated breakout session: rack-aware task assignment and pluggable task assignors, some new knobs for greater control over your own topology like shareable state stores and configurable partitioning, grace periods for stream-table joins, and much more.

We’ll then turn the page to ask: what’s next? And perhaps just as interestingly: what isn’t? This is your chance to learn about all the ideas that have come and gone. some encountered unforeseen challenges, others had to be reverted after unexpected performance or semantic regressions, and yet other simply never found an owner to begin with. If you’re tired of hearing about the KIPs that have already been accepted, come to this talk to learn about KIPs that don’t even exist — but should. We’ll touch on things like partition scaling, headers in the DSL, and emit on change semantics.

Last but not least, we’ll turn to address those of you who might be feeling inspired to pick up one of these orphaned projects: to anyone who has ever asked, “How can I start contributing to Kafka Streams?" The talk will conclude with some tips on how to get involved in the open-source project and go from user to contributor or dive into the Streams community for the first time. Whether you have your sights set on becoming a committer, have to go through the KIP process for a feature you need, or just want to submit a patch for that one weird bug you found, we’ll point you in the right direction.

A. Sophie Blee-Goldman

Responsive