Out-of-Order Handling

In general, NebulaStream does not make any assumptions and cannot give any guarantees over the order of events in a data stream. Consequently, individual events can be observed by an operator in a different order than how they were produced, or received by another operator. For instance, the processing order of events could change due to network failures in the communication between nodes, or due to the parallel processing model on a single node.

However, some operators, e.g., windowing, require knowledge about the order of events. For instance, the window operator has to guarantee that it only triggers a window if it receives all events that are part of the window. To enable this use case, NebulaStream leverages Watermarks.