[
https://issues.apache.org/jira/browse/FLINK-36981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wenkai Qi updated FLINK-36981:
------------------------------
Description:
h1. situation
In FlinkPipelineComposerITCase.testTransformMergingWithRoute:
{code:java}
// Create test dataset:
// Create table 1 [id, name, age]
// Table 1: +I[1, Alice, 18]
// Table 1: +I[2, Bob, 20]
// Table 1: -U[2, Bob, 20] +U[2, Bob, 30]
// Create table 2 [id, name, age, description]
// Table 2: +I[3, Charlie, 15, student]
// Table 2: +I[4, Donald, 25, student]
// Table 2: -D[4, Donald, 25, student]
// Rename column for table 1: name -> last_name
// Add column for table 2: gender
// Table 1: +I[5, Eliza, 24]
// Table 2: +I[6, Frank, 30, student, male] {code}
This is executed correctly.
{code:java}
// Create test dataset:
// Create table 1 [id, name, age]
// Create table 2 [id, name, age, description]
// Table 1: +I[1, Alice, 18]
// Table 1: +I[2, Bob, 20]
// Table 1: -U[2, Bob, 20] +U[2, Bob, 30]
// Table 2: +I[3, Charlie, 15, student]
// Table 2: +I[4, Donald, 25, student]
// Table 2: -D[4, Donald, 25, student]
// Rename column for table 1: name -> last_name
// Add column for table 2: gender
// Table 1: +I[5, Eliza, 24]
// Table 2: +I[6, Frank, 30, student, male] {code}
This will cause an exception.
{code:java}
Caused by: org.codehaus.commons.compiler.CompileException: Line 1, Column 76:
Assignment conversion not possible from type "java.lang.Integer" to type
"java.lang.Long" {code}
h1. cause
When a conversion rule of transform matches multiple tables, only tables with
the same structure are supported. However, in the scenario of sharding
databases and tables, it is possible to match multiple tables with different
structures.
was:
h1. situation
In FlinkPipelineComposerITCase.testTransformMergingWithRoute:
{code:java}
// Create test dataset:
// Create table 1 [id, name, age]
// Table 1: +I[1, Alice, 18]
// Table 1: +I[2, Bob, 20]
// Table 1: -U[2, Bob, 20] +U[2, Bob, 30]
// Create table 2 [id, name, age, description]
// Table 2: +I[3, Charlie, 15, student]
// Table 2: +I[4, Donald, 25, student]
// Table 2: -D[4, Donald, 25, student]
// Rename column for table 1: name -> last_name
// Add column for table 2: gender
// Table 1: +I[5, Eliza, 24]
// Table 2: +I[6, Frank, 30, student, male] {code}
This is executed correctly.
{code:java}
// Create test dataset:
// Create table 1 [id, name, age]
// Table 1: +I[1, Alice, 18]
// Create table 2 [id, name, age, description]
// Table 1: +I[2, Bob, 20]
// Table 1: -U[2, Bob, 20] +U[2, Bob, 30]
// Table 2: +I[3, Charlie, 15, student]
// Table 2: +I[4, Donald, 25, student]
// Table 2: -D[4, Donald, 25, student]
// Rename column for table 1: name -> last_name
// Add column for table 2: gender
// Table 1: +I[5, Eliza, 24]
// Table 2: +I[6, Frank, 30, student, male] {code}
This will cause an exception.
h1. cause
When a conversion rule of transform matches multiple tables, only tables with
the same structure are supported. However, in the scenario of sharding
databases and tables, it is possible to match multiple tables with different
structures.
> The bug of transform merging with route in YAML task
> ----------------------------------------------------
>
> Key: FLINK-36981
> URL: https://issues.apache.org/jira/browse/FLINK-36981
> Project: Flink
> Issue Type: Bug
> Components: Flink CDC
> Affects Versions: cdc-3.2.1
> Reporter: Wenkai Qi
> Priority: Major
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> h1. situation
> In FlinkPipelineComposerITCase.testTransformMergingWithRoute:
>
> {code:java}
> // Create test dataset:
> // Create table 1 [id, name, age]
> // Table 1: +I[1, Alice, 18]
> // Table 1: +I[2, Bob, 20]
> // Table 1: -U[2, Bob, 20] +U[2, Bob, 30]
> // Create table 2 [id, name, age, description]
> // Table 2: +I[3, Charlie, 15, student]
> // Table 2: +I[4, Donald, 25, student]
> // Table 2: -D[4, Donald, 25, student]
> // Rename column for table 1: name -> last_name
> // Add column for table 2: gender
> // Table 1: +I[5, Eliza, 24]
> // Table 2: +I[6, Frank, 30, student, male] {code}
> This is executed correctly.
> {code:java}
> // Create test dataset:
> // Create table 1 [id, name, age]
> // Create table 2 [id, name, age, description]
> // Table 1: +I[1, Alice, 18]
> // Table 1: +I[2, Bob, 20]
> // Table 1: -U[2, Bob, 20] +U[2, Bob, 30]
> // Table 2: +I[3, Charlie, 15, student]
> // Table 2: +I[4, Donald, 25, student]
> // Table 2: -D[4, Donald, 25, student]
> // Rename column for table 1: name -> last_name
> // Add column for table 2: gender
> // Table 1: +I[5, Eliza, 24]
> // Table 2: +I[6, Frank, 30, student, male] {code}
> This will cause an exception.
> {code:java}
> Caused by: org.codehaus.commons.compiler.CompileException: Line 1, Column 76:
> Assignment conversion not possible from type "java.lang.Integer" to type
> "java.lang.Long" {code}
> h1. cause
> When a conversion rule of transform matches multiple tables, only tables with
> the same structure are supported. However, in the scenario of sharding
> databases and tables, it is possible to match multiple tables with different
> structures.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)