~/talk

Kafka streams testing: A deep dive

Talkat Joker 2020 · 2020-11-25..11-28· [testing]
links:none on file
slides:none on file

An attempt to dedupe across streams uses a reduce+filter topology that passes TopologyTestDriver unit tests but outputs nothing in production because the operator cache batches updates and only flushes on commit interval 30s, turning final values into the filtered “stop” token. Rewriting with a ValueTransformer and a persistent local store fixes the bug; integration tests (embedded Kafka or Testcontainers) catch the mismatch but run slower and can be flaky, so both test approaches are necessary.

AI-written summary · about

  1. 0:00Introduction and welcome
  2. 3:05Overview of Kafka Streams testing
  3. 6:18Production issue and initial solution
  4. 13:09Topology test driver deep dive
  5. 19:19Why topology test driver differs from Kafka
  6. 24:57Kafka Streams execution loop
  7. 30:59Topology test driver execution model
  8. 36:00Topology test driver limitations
  9. 43:14Integration testing with embedded Kafka
  10. 53:59Optimizing integration test waits
  11. 1:03:12Choosing between test approaches
  12. 1:05:24Summary and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.