[ 
https://issues.apache.org/jira/browse/FLINK-20722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17276080#comment-17276080
 ] 

Jark Wu commented on FLINK-20722:
---------------------------------

Sorry, but shouldn't this be fixed in 
{{multipleinput.output.BroadcastingOutput}}? Otherwise, all the connectors may 
need this special fix which is introduced by multi-input. IMO, multi-input 
should create a copying {{BroadcastingOutput}} when object reuse is enabled, 
just like how runtime operator chian does, 
{{CopyingBroadcastingOutputCollector}} vs. {{BroadcastingOutputCollector}}. 
What do you think [~godfreyhe]?

> HiveTableSink should copy the record when converting RowData to Row
> -------------------------------------------------------------------
>
>                 Key: FLINK-20722
>                 URL: https://issues.apache.org/jira/browse/FLINK-20722
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / Hive
>            Reporter: Rui Li
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.13.0
>
>
> Add the following test in {{TableEnvHiveConnectorITCase}} to reproduce the 
> issue:
> {code}
>       @Test
>       public void test() throws Exception {
>               TableEnvironment tableEnv = getTableEnvWithHiveCatalog();
>               tableEnv.executeSql("create table src1(key string, val 
> string)");
>               tableEnv.executeSql("create table src2(key string, val 
> string)");
>               tableEnv.executeSql("create table dest(key string, val 
> string)");
>               HiveTestUtils.createTextTableInserter(hiveCatalog, "default", 
> "src1")
>                               .addRow(new Object[]{"1", "val1"})
>                               .addRow(new Object[]{"2", "val2"})
>                               .addRow(new Object[]{"3", "val3"})
>                               .commit();
>               HiveTestUtils.createTextTableInserter(hiveCatalog, "default", 
> "src2")
>                               .addRow(new Object[]{"3", "val4"})
>                               .addRow(new Object[]{"4", "val4"})
>                               .commit();
>               tableEnv.executeSql("INSERT OVERWRITE dest\n" +
>                               "SELECT j.*\n" +
>                               "FROM (SELECT t1.key, p1.val\n" +
>                               "      FROM src2 t1\n" +
>                               "      LEFT OUTER JOIN src1 p1\n" +
>                               "      ON (t1.key = p1.key)\n" +
>                               "      UNION ALL\n" +
>                               "      SELECT t2.key, p2.val\n" +
>                               "      FROM src2 t2\n" +
>                               "      LEFT OUTER JOIN src1 p2\n" +
>                               "      ON (t2.key = p2.key)) j").await();
>       }
> {code}



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

Reply via email to