Github user aljoscha commented on the issue:

    https://github.com/apache/flink/pull/2263
  
    Nice pice of code! I finally understood how it works... 😃 
    
    Some remarks about the code: in some places there are method names that 
seem to stem from an initial implementation but don't match the current code 
anymore. For example, `SessionEventGeneratorDataSource.createTestStream()` 
returns a "generator" so it could be called `createGenerator()`.  Also, there 
are some unused methods (for example in `EventGeneratorFactory`) and methods 
with generated Javadoc that don't have any actual content. Could you please 
have another pass over the code and remove the unused methods and remove or fix 
the Javadoc. Some of the classes could also use a class-level Javadoc.
    
    In `SessionEventGeneratorImpl`, the name `generateLateTimestamp()` might be 
a bit misleading. It just creates timestamps in the range of allowed 
timestamps. Both `InLatenessGenerator` and `AfterLatenessGenerator` use the 
method in the same way, just the behavior of `canGenerateEventAtWatermark()` 
determines whether the generated elements will be late or not. Here, a good 
comment on `canGenerateEventAtWatermark()` might help on the base interface. 
Also, it might make sense to make the testing source non-parallel. If we have 
parallelism 2 and one source regularly advances the watermark but the other 
source never advances the watermark the elements that are generated as "late" 
by the first source are not considered late at the window operator because the 
watermark at the window operator cannot advance.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to