This document discusses KIP-633, which proposes changing the default grace period for windowed operations in Kafka Streams from 24 hours to 0. The motivation is that the 24-hour default was causing confusion for users and suppressing results. The KIP was worked on by a team of contributors and introduces new APIs in Kafka Streams 3.0 that give developers better control over grace periods. It provides resources for migrating code to the new APIs and understanding the compatibility changes.
4. Motivation for KIP-633
• Stream-to-Stream Joins
• Stream Aggregations
• Grace period controls how long to wait
for windowed operations & process
events that arrive after a window ends
• Records coming in after the grace
period has elapsed will be dropped
from those windows.
• Results for window are
processed/finalized after grace period
• Default grace period is 24-hours
5. Motivation for KIP-633
• Problems and confusion for users
• Results are getting suppressed
• Results won’t show up for 24 hours
• KIP-633: Drop 24-hour default of
grace period in Streams
6. Motivation for KIP-633
• Set Expectations for New Users
• Eliminate Confusion for New Users
• Clarity in Usage
• Better Control in Streams Apps
• Improved User Experience
7. Team of Contributors
• Sophie Blee-Goldman
• Israel Ekpo
• Matthias J. Sax
• Bruno Cadonna
• Guozhang Wang
• Luke Chen
10. Compatibility, Deprecation, and Migration Plan
• Migrate to one of the two new APIs
• Make a conscious decision to skip the
grace period and close a window
immediately
• Still apply the old default of 24 hours
• Choose a new grace period entirely
11. Follow Up Resources – Check it Out!
https://github.com/izzyacademy/kip-633-demo-grace-periods
https://izzyacademy.com/tutorials
@IzzyAcademy – YouTube, GitHub, Twitter