gejinzh commented on issue #12820:
URL: https://github.com/apache/hudi/issues/12820#issuecomment-2650111073
The recommit instant has no data; So the code handles it like no data event
because write statuses's size is zero; but the 'isConfirming' flag does not be
switched;
```
StreamWriteOperatorCoordinator::handleBootstrapEvent
final String instant = Arrays.stream(eventBuffer)
.filter(evt -> evt.getWriteStatuses().size() > 0)
.findFirst().map(WriteMetadataEvent::getInstantTime)
.orElse(WriteMetadataEvent.BOOTSTRAP_INSTANT);
```
Is the good idea to send commit event again on there or just send commit
event on there?
like this
```
if
(this.metaClient.reloadActiveTimeline().filterInflightsAndRequested().containsInstant(this.instant)
&& instant.equals(WriteMetadataEvent.BOOTSTRAP_INSTANT)
&& this.tableState.operationType == WriteOperationType.INSERT)
{
LOG.warn("Reuse current pending Instant {} with {} operationType, "
+ "ignoring empty bootstrap event. writeMetaDataEvent: {};
instant: {}", this.instant, WriteOperationType.INSERT.value(), event, instant);
reset();
sendCommitAckEvents(-1L); // new code
return;
}
```
--
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]