~/talk

Handling frequent changes in state structure

Talkat Flink Forward Global Virtual 2020 · 2020-10-19..10-22· [testing]
links:none on file
slides:none on file

A utility that forces an operator to reset when its state layout changes is built and running in production for DataDome using Flink and Scala, with code at https://github.com/DataDome/flink-utils. It computes a UID from the operator id plus a hash of a state type signature that first uses Flink TypeInformation then falls back to developer-supplied signatures for non-case classes, with shapeless generation for case classes and support for Kryo-serialized fields. It prevents whole-job resets, requires a unit test to avoid accidental state loss, and works in practice.

AI-written summary · about

  1. 0:00Intro
  2. 0:16Bot Detection
  3. 0:49Startup Mode
  4. 1:58Can't you just drop your state?
  5. 2:36What about state migration?
  6. 3:52Human Error
  7. 4:25Two ways to go
  8. 5:09Trade-offs
  9. 5:45What is TypeInformation? Flink's way of describing a type for serialization/deserialization
  10. 7:49Multiple States
  11. 8:29Generic Types
  12. 9:38Back to square one
  13. 10:12Requirements
  14. 10:35Type Signature on Types
  15. 10:56State Type Signature on Functions
  16. 12:45Building a TypeSignature
  17. 13:40Define Default Signatures
  18. 14:45Wrapping Up
  19. 16:17Questions!
~/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.