zhengxiang378928908-code commented on issue #17494:
URL: https://github.com/apache/iceberg/issues/17494#issuecomment-6322883908
One possibility worth ruling out is the checkpoint-id issue from #18098.
`DynamicCommitter` walks back through the branch history to the latest
snapshot that has `flink.max-committed-checkpoint-id`, a matching job id, and a
matching or absent operator id. It marks every request with a checkpoint id at
or below that value as already committed. It does this whether or not the job
was restored from state. So if a restart keeps the job id but starts the
checkpoint counter again from a low value, new commits are skipped until the
counter passes the old value. Records are consumed and checkpoints complete,
the skipped requests don't count as pending, and the skip is only logged at
DEBUG (`Skipping {} commit requests`). That would match what you see, but only
if the restart actually reset the checkpoint counter. A normal recovery from a
checkpoint doesn't do that.
#18123 fixed this for `IcebergSink`; the open #18303 proposes the same for
`DynamicCommitter`.
@peach12345 could you check:
1. whether the eviction led to a start without restored state (or otherwise
reset checkpoint numbering) while keeping the same job id and sink operator id;
2. on an affected branch, whether `flink.max-committed-checkpoint-id` in the
latest snapshot matching those criteria is higher than the checkpoint ids the
job completes now;
3. with DEBUG for `org.apache.iceberg.flink.sink.dynamic.DynamicCommitter`,
whether `Skipping N commit requests` shows N > 0 for those checkpoints.
This needs the committables to reach the committer. If the writer really
produces none, this isn't it. New data files under the table location that no
snapshot references would point to the committer side.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]