ASF GitHub Bot commented on FLINK-8660:

GitHub user kbialek opened a pull request:


    [FLINK-8660] Enable the user to provide custom HAServices implementation

    ## What is the purpose of the change
    This pull request makes it possible to use alternative (to ZK) HA backend 
    ## Brief change log
    * Added HighAvailabilityServicesFactory interface
    * Added new option HighAvailabilityMode.CUSTOM
    * Added new configuration property high-availability.factoryClass
    * HighAvailabilityServicesUtils uses configured factory to instantiate 
    * Updated docs
    ## Verifying this change
    This change added tests and can be verified as follows:
    * Added new test class HighAvailabilityServicesUtilsTest
    * Updated test class HighAvailabilityModeTest
    * Manually verified by using own HA backend implementation
    ## Does this pull request potentially affect one of the following parts:
      - Dependencies (does it add or upgrade a dependency): no
      - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: no
      - The serializers: no
      - The runtime per-record code paths (performance sensitive): no
      - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: yes, if this feature is 
used, otherwise no
      - The S3 file system connector: no
    ## Documentation
      - Does this pull request introduce a new feature? yes
      - If yes, how is the feature documented? docs and JavaDocs

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

    $ git pull https://github.com/kbialek/flink FLINK-8660

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


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

    This closes #5530
commit 494bb2f7175bb174ed2a7139495af05891012498
Author: Krzysztof Białek <kbialek@...>
Date:   2018-02-17T15:11:50Z


commit 077102571ae58987fafbf00ba536f1512c700e1b
Author: Krzysztof Białek <kbialek@...>
Date:   2018-02-17T16:45:47Z

    Create BlobStorage for any HA backend

commit 57e52b70700dc1b3a4f05113ae6aa594112eead7
Author: Krzysztof Białek <kbialek@...>
Date:   2018-02-17T16:46:02Z

    HighAvailabilityServicesFactory may throw exceptions

commit 9a08884ee05f8a8bf8e03b7fdd3b6d148530c40b
Author: Krzysztof Białek <kbialek@...>
Date:   2018-02-19T21:12:59Z



> Enable the user to provide custom HAServices implementation 
> ------------------------------------------------------------
>                 Key: FLINK-8660
>                 URL: https://issues.apache.org/jira/browse/FLINK-8660
>             Project: Flink
>          Issue Type: Improvement
>          Components: Cluster Management, Configuration, Distributed 
> Coordination
>    Affects Versions: 1.4.0, 1.5.0
>            Reporter: Krzysztof Białek
>            Priority: Major
>             Fix For: 1.6.0
> At the moment Flink uses ZooKeeper as HA backend.
> The goal of this improvement is to make Flink supporting more HA backends, 
> also maintained as independent projects.
> The following changes are required to achieve it:
>  # Add {{HighAvailabilityServicesFactory}} interface
>  # Add new option {{HighAvailabilityMode.CUSTOM}}
>  # Add new configuration property {{high-availability.factoryClass}}
>  # Use the factory in {{HighAvailabilityServicesUtils}} to instantiate  
> {{HighAvailabilityServices}}

This message was sent by Atlassian JIRA

Reply via email to