[
https://issues.apache.org/jira/browse/FLINK-18435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-18435:
-----------------------------------
Labels: pull-request-available (was: )
> Allow reporter factories to intercept reflection-based instantiation attempts
> -----------------------------------------------------------------------------
>
> Key: FLINK-18435
> URL: https://issues.apache.org/jira/browse/FLINK-18435
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Metrics
> Reporter: Chesnay Schepler
> Assignee: Chesnay Schepler
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.12.0
>
>
> Before 1.11 to use a reporter its class was configured, and the instance
> instantiated via reflection.
> We then introduced reporter factories, and added an annotation for
> redirection instantiation attempts from the reporter class to factories, by
> annotating the reporter class with {{InstantiateViaFactory}}.
> However, when we migrated reporters to plugins, this approach stopped
> working, the reason being that it required the reporter class to be
> accessible. The plugin system only exposes the factories however.
> To ensure that existing configurations continue to work, I propose to add a
> new {{InterceptInstantiationViaReflection}} annotation for factories, with
> which they can specify a class name to intercept reflection-based
> instantiation attempts.
> Basically, we just invert the {{InstantiateViaFactory}} logic.
> Instead of the reporter saying "This factory should be used to instantiate
> me.", the factory now say "I can instantiate that reporter."
--
This message was sent by Atlassian Jira
(v8.3.4#803005)