onyx-platform / onyx

Distributed, masterless, high performance, fault tolerant data processing
http://www.onyxplatform.org
Eclipse Public License 1.0
2.05k stars 205 forks source link

Native watermarks support. #805

Closed lbradstreet closed 7 years ago

lbradstreet commented 7 years ago

Implements stream level watermarks at barrier level granularity. Limitations:

Depends on the barriers to transfer the watermarks down. If your checkpointing period is high, then you will only process the watermarks with that granularity. Future work will implement watermark messages which have higher granularity. If you use trigger/emit and flush a lot of segments from a window downstream, you will see a corresponding memory increase. Future work should page these segments in incrementally. Makes a breaking change to plugin interface. We should probably add an extra plugin interface (Watermarkable?) and then check whether the plugin implements it. That would prevent this from being a breaking change.