-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/51346/
-----------------------------------------------------------

(Updated Aug. 24, 2016, 9:03 p.m.)


Review request for samza, Boris Shkolnik, Chris Pettitt, Yi Pan (Data 
Infrastructure), Navina Ramesh, and Xinyu Liu.


Changes
-------

- Prevent future polls for Ssps at end of stream.
- Support the notion of endOfStream when iterating over messages in an SSP 
using a SystemStreamPartitionIterator


Repository: samza


Description
-------

Samza currently works with unbounded data sources (kafka streams). However, for 
bounded data sources like HDFS files, snapshot files which are not infinite, we 
need a notion of 'end-of-stream'. 

This is a step towards realizing a 'finite' Samza job that terminates once data 
processing is complete.(as opposed to an infinite stream job that keeps 
running)  

RB changes:
- New interface for EndOfStreamListener
- New 'end-of-stream' state in the state-machine of AsyncStreamTask (Invariant: 
When end-of-stream is reached there are no buffered messages, no-callbacks are 
in-flight and no-window or commit call shall be in progress)
- Changes to allow clean shut-downs of the tasks/container/job for 
end-of-stream.

Design Doc and Implementation Notes: 
https://issues.apache.org/jira/secure/attachment/12825119/ProposalforEndofStreaminSamza.pdf


Diffs (updated)
-----

  samza-api/src/main/java/org/apache/samza/system/IncomingMessageEnvelope.java 
cc860cf7eb4d514736913c1dceaa80534b61d71a 
  
samza-api/src/main/java/org/apache/samza/system/SystemStreamPartitionIterator.java
 a8f858aa7e4f4ce436f450cf439fe1a102983c64 
  samza-api/src/main/java/org/apache/samza/task/EndOfStreamListenerTask.java 
PRE-CREATION 
  samza-core/src/main/java/org/apache/samza/task/AsyncRunLoop.java 
a510bb0c5914c772438930d27f100b4d360c1296 
  samza-core/src/main/scala/org/apache/samza/container/TaskInstance.scala 
89f6857014489aba2db4129bc2e26dfec5b10652 
  samza-core/src/main/scala/org/apache/samza/system/SystemConsumers.scala 
a8355b944cad54faacf5eeb883d8f4b630440757 
  samza-core/src/test/java/org/apache/samza/task/TestAsyncRunLoop.java 
ca913dea79fecbcecdfd1010dc794318055c5764 

Diff: https://reviews.apache.org/r/51346/diff/


Testing
-------

Unit tests to test scenarios for inorder processing, out-of-order processing 
and commit semantics.


Thanks,

Jagadish Venkatraman

Reply via email to