Currently, DisjointUnion is a simple pasthrough for both sides of the union, but this does not properly merge punctuations (non-partitioned) or low watermarks (partitioned), i.e. "global punctuations", and can lead to out of order events. This change fixes this by removing the global punctuations from the source batches, and emitting the minimum of the two sides' punctuations separately after the emitting the source batches.
Currently, DisjointUnion is a simple pasthrough for both sides of the union, but this does not properly merge punctuations (non-partitioned) or low watermarks (partitioned), i.e. "global punctuations", and can lead to out of order events. This change fixes this by removing the global punctuations from the source batches, and emitting the minimum of the two sides' punctuations separately after the emitting the source batches.