Prometheus has an implementation which discards OOO samples even if OOO time window is enabled in some special cases.
We should be doing something similar in cortex and pass the DiscardOutOfOrder option from ingester to the headAppender in prometheus.
Additionally we will also have to pass this option from ruler to ingesters in order to discard OOO stale markers which will require modifying the protobuf to include this parameter in the write request