GitHub user kl0u opened a pull request:

    https://github.com/apache/flink/pull/2763

    [FLINK-5021] Makes the ContinuousFileReaderOperator rescalable.

     This is the last PR that completes the refactoring of the 
`ContinuousFileReaderOperator` so that it can be rescalable. With this, the 
reader can restart from a savepoint with a different parallelism without 
compromising the provided exactly-once guarantees.
    
    The whole PR contains 3 commits. 
    
    The first removes the EOS special split which was used to signal that no 
new splits are to be processed. This was useful in the `PROCESS_ONCE` mode. Now 
the reader closes by setting a flag and waiting for all the pending splits to 
be fully processed.
    
    The second puts an additional check in the 
`ContinuousFileMonitoringFunction` that guarantees that in the case of the 
`PROCESS_ONCE`, the source will not reprocess the directory after recovering 
from a failure.
    
    Finally, the third integrates the new rescalable state abstractions with 
the reader so that the reader can restart from a savepoint with different 
parallelism and still guarantee exactly-once semantics.
    
    R: @aljoscha 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kl0u/flink repart_fs

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/2763.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2763
    
----
commit 3976c70449f958da24ded2f7e5c3c1a3ef6cccd7
Author: kl0u <[email protected]>
Date:   2016-11-03T09:50:04Z

    [FLINK-5021] Removes the special EOS TimestampedFileInputSplit.
    
    Without this special split signaling that no more splits are
    to arrive, the ContinuousFileReaderOperator now closes by
    setting a flag that marks it as closed and exiting when the
    flag is set to true and the pending split queue is empty.

commit 18ebac80f34c8c5db88d8493c21a3ba2e9fa2c6c
Author: kl0u <[email protected]>
Date:   2016-11-03T10:08:45Z

    [FLINK-5021] Guarantees PROCESS_ONCE works correctly after recovering.

commit bbabe5e95aa6f115772099af250744a066eccb77
Author: kl0u <[email protected]>
Date:   2016-11-03T10:21:08Z

    [FLINK-5021] Makes the ContinuousFileReaderOperator rescalable.
    
    This is the last commit that completes the refactoring of the
    ContinuousFileReaderOperator so that it can be rescalable.
    With this, the reader can restart from a savepoint with a
    different parallelism without compromising the provided
    exactly-once guarantees.

----


---
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 [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to