[ 
https://issues.apache.org/jira/browse/FLINK-21804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roman Khachatryan updated FLINK-21804:
--------------------------------------
    Description: 
[Proposed 
design|https://docs.google.com/document/d/10c6hZsOVxzUjeCLPSDpKGyZOYHi73yd92lCqRs1CyUE/edit#heading=h.5b9hthjg53vl]
!Changelog Backend _ writer loading.png|width=600!

* Black arrows - existing references/creations
* {color:red}Red{color} arrows - required references/creations
* {color:#00875A}Green{color} arrows - proposed references/creations to enable 
required ones

  was:
As of FLINK-21355, changelog writer factory is created inside the backend while 
creating keyed backend.

 

Instead, it should be obtained from the environment 
(env.getTaskStateManager.get...). Creation should be done closer to 
TaskExecutor/Task creation, so that PluginManager is accessible and grouping 
across subtasks is possible.

 

The previous approach (removed from FLINK-21355 PR) was to use 
StateBackendLoader, pass the created factory to backend, and then to keyed 
backend. The issue is that it is also used in JM and other environments when no 
state is actually logged. It's also difficult to use PluginManager there.

 

Motivation to use PluginManager:
 1. allow different changelog implementations
 2. (possibly) allow using changelog in different places

However, this would require moving backend loading closer to TaskManagerRunner 
where other pluginized components are initialized.

Probably, this should be done together with pluginizing state backends.


> Create and wire changelog writer with backend
> ---------------------------------------------
>
>                 Key: FLINK-21804
>                 URL: https://issues.apache.org/jira/browse/FLINK-21804
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Runtime / State Backends
>            Reporter: Roman Khachatryan
>            Priority: Major
>             Fix For: 1.14.0
>
>         Attachments: Changelog Backend _ writer loading.png
>
>
> [Proposed 
> design|https://docs.google.com/document/d/10c6hZsOVxzUjeCLPSDpKGyZOYHi73yd92lCqRs1CyUE/edit#heading=h.5b9hthjg53vl]
> !Changelog Backend _ writer loading.png|width=600!
> * Black arrows - existing references/creations
> * {color:red}Red{color} arrows - required references/creations
> * {color:#00875A}Green{color} arrows - proposed references/creations to 
> enable required ones



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to