Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Users who want to keep the current behavior can prepend a .filter() operator to the aforementioned operators and filter accordingly.

E.g.

//current
leftStream.leftJoin(rightStream, (lv, rv) -> join(lv, rv), windows);
//new if old behavior is needed
rightStream = rightStream.filter((key, value) -> key != null && value != null);
leftStream.filter((key, value) -> key != null && value != null)
.leftJoin(rightStream, (lv, rv) -> join(lv, rv), windows);
//Both key and value needs to be null checked as current defined behavior for stream-stream join is:
...
*
* If an input record key or value is {@code null} the record will not be included in the join operation and thus no
* output record will be added to the resulting {@code KStream}.
*
...


Why not make this change opt in?
By default we would like the DSL be consistent with the defined semantics.

...