Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Add configuration options to allow users to enable atomicity.

...

Code Block
languagejava
@PublicEvolving
public class TableConfigOptions {
    @Documentation.TableOption(execMode = Documentation.ExecMode.BATCH_STREAMING)
    public static final ConfigOption<Boolean> TABLE_COR_ATOMICITY_ENABLED =
            key("table.cor-atomicity.enabled")
                    .booleanType()
                    .defaultValue(false)
                    .withDescription(
                            "Specifies if the create table as select operation is executed atomically. "
                                    + "By default, the operation is non-atomic. The target table is created in Client side, and it will not be dropped even though the job fails or is cancelled. "
                                    + "If set this option to true, the target table is created in JM side, it also will be dropped when the job fails or is cancelled.");
}



Implementation Plan

We provide two semantics for Flink CTAS: Non-atomic and Atomic. Non-atomic implementations are the default behavior of Streaming and Batch modes. 

...