Boundedness
In Flink, sources can involve bounded or unbounded data, which are implied in the BATCH and STREAMING modes.
The following will make an AMPS Source a bounded operator:
- Using a SOW query
- Using a SOW query with topN defined
- Using a bookmark subscription with topN defined
- Using a ranged bookmark subscription
In other words, any of the above will make an AMPS Source transition from the RUNNING state to the FINISHED state after it receives all intended messages from AMPS, which allows jobs to finish without being explicitly canceled.