Valentino Proietti created KAFKA-6486: -----------------------------------------
Summary: TimeWindows causes unordered calls to windowed aggregation functions Key: KAFKA-6486 URL: https://issues.apache.org/jira/browse/KAFKA-6486 Project: Kafka Issue Type: Bug Components: streams Affects Versions: 1.0.0 Reporter: Valentino Proietti This is not a real bug but it causes some weird behaviour, at least in my opinion. The TimeWindows has a method called windowsFor() that uses and returns an HashMap: @Override *public* Map<Long, TimeWindow> windowsFor(*final* *long* timestamp) { *long* windowStart = (Math._max_(0, timestamp - sizeMs + advanceMs) / advanceMs) * advanceMs; *final* Map<Long, TimeWindow> windows = *new* HashMap<>(); .... the HashMap does not preserve the order of insertion and this ends up later in calls to any streams windowed aggregation functions that are not ordered by window time as I would expect. A simple solution is to replace the HashMap with a LinkedHashMap and that's what I did. Anyway replacing it directly in your code can save hours of debugging to understand what's happening. Thank you -- This message was sent by Atlassian JIRA (v7.6.3#76005)