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

Roman Khachatryan updated FLINK-21804:
--------------------------------------
    Attachment: Changelog Backend _ writer loading.png

> 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
>
>
> 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.



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

Reply via email to