[ https://issues.apache.org/jira/browse/FLINK-8660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16369537#comment-16369537 ]
ASF GitHub Bot commented on FLINK-8660: --------------------------------------- GitHub user kbialek opened a pull request: https://github.com/apache/flink/pull/5530 [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 implementation ## Brief change log * Added HighAvailabilityServicesFactory interface * Added new option HighAvailabilityMode.CUSTOM * Added new configuration property high-availability.factoryClass * HighAvailabilityServicesUtils uses configured factory to instantiate HighAvailabilityServices * 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: https://github.com/apache/flink/pull/5530.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 #5530 ---- commit 494bb2f7175bb174ed2a7139495af05891012498 Author: Krzysztof Białek <kbialek@...> Date: 2018-02-17T15:11:50Z Implemented 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 Docs ---- > 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 (v7.6.3#76005)