danny0405 commented on PR #20389: URL: https://github.com/apache/hudi/pull/20389#issuecomment-6283814925
> During recovery, the coordinator can restore an empty `eventBuffers` while writer state still contains metadata for a pending instant A. Even if the writer sends `bootstrap(A)` before requesting a new instant, bootstrap processing runs on the main executor while instant creation runs on `instantRequestExecutor`. If A has not been registered yet, both pending checks can see an empty map, allowing `startInstant()` to trigger EAGER rollback of A. > > For blocking instant generation, could we process instant requests on the main executor as well? Running the instant lookup, pending check, creation, and buffer registration there would ensure that an already-queued bootstrap event is processed first. Requests blocked by pending instants should continue returning `null` for task-side retry, keeping the executor available to process events and commits. I would deem this as a corner case first. -- 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]
