[
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)