yux created FLINK-37578:
---------------------------
Summary: CDC Pipeline distributed schema evolution topology with
bad internal state
Key: FLINK-37578
URL: https://issues.apache.org/jira/browse/FLINK-37578
Project: Flink
Issue Type: Bug
Components: Flink CDC
Reporter: yux
Currently, a CDC pipeline job with distributed schema evolution topology might
throw exceptions like this:
Caused by: org.apache.flink.util.FlinkException: Global failure triggered by
OperatorCoordinator for 'SchemaMapper -> Sink Writer: Value Sink' (operator
9899a42c64d67ef3172b7e3be3c1bbb9).
at
org.apache.flink.runtime.operators.coordination.OperatorCoordinatorHolder$LazyInitializedCoordinatorContext.failJob(OperatorCoordinatorHolder.java:673)
... 4 more
Caused by: java.lang.IllegalStateException: Unexpected evolving status: EVOLVING
at
org.apache.flink.cdc.common.utils.Preconditions.checkState(Preconditions.java:161)
at
org.apache.flink.cdc.runtime.operators.schema.distributed.SchemaCoordinator.handleSchemaEvolveRequest(SchemaCoordinator.java:278)
at
org.apache.flink.cdc.runtime.operators.schema.distributed.SchemaCoordinator.handleCustomCoordinationRequest(SchemaCoordinator.java:195)
at
org.apache.flink.cdc.runtime.operators.schema.common.SchemaRegistry.lambda$handleCoordinationRequest$0(SchemaRegistry.java:257)
at
org.apache.flink.cdc.runtime.operators.schema.common.SchemaRegistry.lambda$runInEventLoop$3(SchemaRegistry.java:349)
... 3 more
The underlying reason is SchemaRegistry releases operator clients before
restoring its internal state, causing newly coming requests to fail.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)