You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@samza.apache.org by Jagadish Venkatraman <ja...@gmail.com> on 2016/10/01 06:05:35 UTC
Re: Review Request 51346: SAMZA-974 - Support finite datasources in
Samza that have a notion of End-Of-Stream
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/51346/
-----------------------------------------------------------
(Updated Oct. 1, 2016, 6:05 a.m.)
Review request for samza, Boris Shkolnik, Chris Pettitt, Yi Pan (Data Infrastructure), Navina Ramesh, and Xinyu Liu.
Changes
-------
rebased with latest.
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
This RB depends on https://reviews.apache.org/r/51819/ and https://reviews.apache.org/r/51824/ (to be committed first)
Diffs (updated)
-----
build.gradle ab257d3603c8f3ffefcd0772e0cdfd271ff8e77f
checkstyle/import-control.xml 7e77702bcd5c32f7fdaf1558337505993c1abe06
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/clustermanager/ResourceRequestState.java 39897c76ba8bb123e2ce6a878a891c17d75b99d6
samza-core/src/main/java/org/apache/samza/task/AsyncRunLoop.java 9a21bf15a2d1a21ec3339c3a009a928d19d428df
samza-core/src/main/java/org/apache/samza/task/AsyncStreamTaskAdapter.java 1fc645673b7547b642830df5639c0b4fcd11c0d5
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/clustermanager/TestContainerProcessManager.java 57a5da6120d1fecc6b5f14db03123813a571f9b9
samza-core/src/test/java/org/apache/samza/task/TestAsyncRunLoop.java ca913dea79fecbcecdfd1010dc794318055c5764
samza-core/src/test/scala/org/apache/samza/system/TestSystemConsumers.scala db2249ba73526ae1ca0a03eb5e497f2fe5cfed9c
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