In order for Unaligned Checkpoint not to be blocked, StreamTask#processInput will check recordWriter.isAvailable(). If not available, the data will not be processed until recordWriter is available.
The new Source api is compatible with the above logic, but Legacy Source is not compatible with the above logic. When using Unaligned Checkpoint, if the backpressure of Legacy Source is high, the Checkpoint duration of Legacy Source will be very long.
Since legacy sources are often used in production, can we add logic to wait for recordWriter to be available for legacy source?