~/talk

Reactive Streams - Beware of Dangers!

Talkat JCON EUROPE 2024 · 2024-05-13..05-16· [reactive-programming, java]
links:none on file
slides:none on file

Reactive pipeline experience with RxJava and Reactive Streams shows concrete failure modes: processors commonly do not enforce backpressure so PublishProcessor drops events and UnicastProcessor uses an unbounded queue that can OOM with 10M events; ReplayProcessor’s size only limits replay to new subscribers, not global buffering. Caching and observeOn add hidden buffers and stale values across thousands of subscribers, async cancellation and dropped elements cause resource leaks, and missing stack traces make debugging costly; custom backpressure operators and exhaustive production-like tests are required to fix these failures.

AI-written summary · about

  1. 0:00Introduction to reactive streams
  2. 1:07Reactive Streams API basics
  3. 3:02Choosing implementations
  4. 6:13Slow consumer problem
  5. 8:03Processor backpressure issues
  6. 11:18Server-side backpressure
  7. 13:07Threading and latency
  8. 16:25Backpressure operator solution
  9. 18:16Debugging reactive streams
  10. 20:00Error handling in pipelines
  11. 22:57Resource leaks in streams
  12. 25:04Buffering and memory issues
  13. 26:31Caching operator behavior
  14. 31:11Summary and best practices
  15. 34:13Q&A: Reactive vs virtual threads
  16. 35:40Q&A: WebFlux comparison
  17. 36:51Q&A: Narrow use cases
  18. 37:58Q&A: Custom operators
  19. 40:33Q&A: Lost subscribers debugging
  20. 42:18Q&A: Testing reactive code
  21. 44:03Q&A: Project usage frequency
~/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.