Skip to content

[Feature] support setting uid suffix for source/sink to improve state compatibility when jobGraph changes. #4424

@liming30

Description

@liming30

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

In Flink jobs, the source and sink of paimon are both stateful. In our business scenarios, we may modify the parallelism, add sources, and replace source/sink tables, which can easily lead to problems where the state cannot be restored, such as Cannot map checkpoint/savepoint state for operator xxx to the new program.

For example, the following two operations cannot be restored from the Savepoint:

  1. insert into table_A (select f1 from table_B) -> insert in table_A (select f1 from table_B union all select f1 from table_C)

  2. insert into table_A select f1 from table_B -> insert into table_C select f1 from table_B

Therefore I want to set uid for source/sink operators to improve state compatibility when restoring from savepoint.

Solution

Set uid for source/sink operators.

Anything else?

No response

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions