`assignTimestampsAndWatermarks` before `keyBy` works: ```java DataStream<Trip> trips = env.addSource(consumer).assignTimestampsAndWatermarks(new BoundedOutOfOrdernessTimestampExtractor<Trip>(Time.days(1)) { @Override public long extractTimestamp(Trip trip) { return trip.endTime.getTime(); } }); KeyedStream<Trip, Long> userTrips = trips.keyBy(trip -> trip.userId); DataStream<FeaturizedTrip> featurizedUserTrips = userTrips.process(new Featurization()); AllWindowedStream<FeaturizedTrip, TimeWindow> windowedUserTrips = featurizedUserTrips.timeWindowAll(Time.days(7), Time.days(1)); ```
But not after `keyBy` and `process`: ```java DataStream<Trip> trips = env.addSource(consumer); KeyedStream<Trip, Long> userTrips = trips.keyBy(trip -> trip.userId); DataStream<FeaturizedTrip> featurizedUserTrips = userTrips.process(new Featurization()).assignTimestampsAndWatermarks(new BoundedOutOfOrdernessTimestampExtractor<FeaturizedTrip>(Time.days(1)) { @Override public long extractTimestamp(FeaturizedTrip trip) { return trip.endTime.getTime(); } }); AllWindowedStream<FeaturizedTrip, TimeWindow> windowedUserTrips = featurizedUserTrips.timeWindowAll(Time.days(7), Time.days(1)); ``` Windows are never triggered. Is it a bug or expected behavior? If the latter, where is it documented?