You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Flink Jira Bot (Jira)" <ji...@apache.org> on 2022/04/09 22:39:00 UTC

[jira] [Updated] (FLINK-15674) Let Java and Scala Type Extraction go through the same stack

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

Flink Jira Bot updated FLINK-15674:
-----------------------------------
    Labels: auto-deprioritized-major auto-unassigned stale-minor usability  (was: auto-deprioritized-major auto-unassigned usability)

I am the [Flink Jira Bot|https://github.com/apache/flink-jira-bot/] and I help the community manage its development. I see this issues has been marked as Minor but is unassigned and neither itself nor its Sub-Tasks have been updated for 180 days. I have gone ahead and marked it "stale-minor". If this ticket is still Minor, please either assign yourself or give an update. Afterwards, please remove the label or in 7 days the issue will be deprioritized.


> Let Java and Scala Type Extraction go through the same stack
> ------------------------------------------------------------
>
>                 Key: FLINK-15674
>                 URL: https://issues.apache.org/jira/browse/FLINK-15674
>             Project: Flink
>          Issue Type: Improvement
>          Components: API / DataStream
>            Reporter: Stephan Ewen
>            Priority: Minor
>              Labels: auto-deprioritized-major, auto-unassigned, stale-minor, usability
>
> Currently, the Java and Scala Type Extraction stacks are completely different.
> * Java uses the {{TypeExtractor}}
> * Scala uses the type extraction macros.
> As a result, the same class can be extracted as different types in the different stacks, which can lead to very confusing results. In particular, when you use the TypeExtractor on Scala Classes, you always get a {{GenericType}}.
> *Suggestion for New Design*
> There should be one type extraction stack, based on the TypeExtractor.
> * The TypeExtractor should be extensible and load additions through service loaders, similar as it currently loads Avro as an extension.
> * The Scala Type Extraction logic should be such an extension.
> * The Scala Marcos would only capture the {{Type}} (as in Java type), meaning {{Class}}, or {{ParameterizedType}}, or {{Array}} (etc.) and delegate this to the TypeExtractor.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)