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

Jingsong Lee updated FLINK-28322:
---------------------------------
    Description: 
In FLINK-25990 , 
Add a method "DataStream<RowData> produceDataStream(ProviderContext 
providerContext, StreamExecutionEnvironment execEnv)" in DataStreamScanProvider.
But this method has no default implementation, this is not compatible when 
users upgrade their DataStreamScanProvider implementation from 1.14 to 1.15. 
(The old method will not be called)
This method should be:
{code:java}
    default DataStream<RowData> produceDataStream(
            ProviderContext providerContext, StreamExecutionEnvironment 
execEnv) {
        return produceDataStream(execEnv);
    }
{code}

DataStreamSinkProvider is the same.

Impact on {DataStreamSinkProvider}:
DataStreamSinkProvider is no longer a functional interface and requires the use 
of an anonymous internal class.

  was:
In FLINK-25990 , 
Add a method "DataStream<RowData> produceDataStream(ProviderContext 
providerContext, StreamExecutionEnvironment execEnv)" in DataStreamScanProvider.
But this method has no default implementation, this is not compatible when 
users upgrade their DataStreamScanProvider implementation from 1.14 to 1.15. 
(The old method will not be called)
This method should be:
{code:java}
    default DataStream<RowData> produceDataStream(
            ProviderContext providerContext, StreamExecutionEnvironment 
execEnv) {
        return produceDataStream(execEnv);
    }
{code}

DataStreamSinkProvider is the same.


> DataStreamScanProvider's new method is not compatible
> -----------------------------------------------------
>
>                 Key: FLINK-28322
>                 URL: https://issues.apache.org/jira/browse/FLINK-28322
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>            Reporter: Jingsong Lee
>            Assignee: Jingsong Lee
>            Priority: Blocker
>              Labels: pull-request-available
>             Fix For: 1.15.1
>
>
> In FLINK-25990 , 
> Add a method "DataStream<RowData> produceDataStream(ProviderContext 
> providerContext, StreamExecutionEnvironment execEnv)" in 
> DataStreamScanProvider.
> But this method has no default implementation, this is not compatible when 
> users upgrade their DataStreamScanProvider implementation from 1.14 to 1.15. 
> (The old method will not be called)
> This method should be:
> {code:java}
>     default DataStream<RowData> produceDataStream(
>             ProviderContext providerContext, StreamExecutionEnvironment 
> execEnv) {
>         return produceDataStream(execEnv);
>     }
> {code}
> DataStreamSinkProvider is the same.
> Impact on {DataStreamSinkProvider}:
> DataStreamSinkProvider is no longer a functional interface and requires the 
> use of an anonymous internal class.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to