@Override
    public void execute(ChangeEventSourceContext context) throws InterruptedException {
        this.context = context;

        final BinaryLogClient client = taskContext.getBinaryLogClient();
        final List<EventListener> eventListeners = client.getEventListeners();
        final List<BinaryLogClient.LifecycleListener> lifecycleListeners =
                client.getLifecycleListeners();

        eventListeners.forEach(
                listener -> {
                    if (eventListeners.indexOf(listener) != eventListeners.size() - 1) {
                        client.unregisterEventListener(listener);
                    }
                });
        lifecycleListeners.forEach(
                listener -> {
                    if (lifecycleListeners.indexOf(listener) != lifecycleListeners.size() - 1) {
                        client.unregisterLifecycleListener(listener);
                    }
                });

        super.execute(context);
    }
Clear reusedBinaryLogClient's eventListeners and lifecycleListeners of the last run to
fix hung up of snapshot phase.
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/mysql-cdc/src/main/java/org/apache/inlong/sort/cdc/mysql/debezium/task/MySqlBinlogSplitReadTask.java