SEZ9 commented on issue #12411: URL: https://github.com/apache/seatunnel/issues/12411#issuecomment-5755040791
Thanks for the detailed report and analysis. From the code you quoted, `pollNext` holds `output.getCheckpointLock()` around `internalPollNext`, and the `finally` block calls `Thread.sleep(httpParameter.getPollIntervalMillis())` while the lock is still held, so with a ten-second poll the lock is only released for a brief window between iterations. That is consistent with the checkpoint timeout you observed and with raising `checkpoint.interval` / `checkpoint.timeout` not helping. Replacing the sleep with `output.getCheckpointLock().wait(httpParameter.getPollIntervalMillis())` looks like a reasonable minimal fix, since it releases the monitor while waiting. Since you are willing to submit a PR, please go ahead. It would be great to include a regression test that triggers a checkpoint while the reader is in its poll wait and asserts it completes, and to check whether other readers use the same sleep-under-lock pattern so they can be covered by the same change. <!-- streview-comment:1211 --> -- 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]
