a2aproject / a2aproject/a2a-java

[Bug]: pushnotification is not support order-preserving of update event

Aperta
#775 1 commento 0 reazioni 1 assegnatario Rivendicata da @perhaps468 Vedi su GitHub
Lingua principale
Java
Stelle
490
Fork
172
Merge medio
1g 6h
PR unite (30g)
55

Descrizione

### What happened?

when status update or artifact update is sent through push notification, the request agent may not receivee those event in the order it produce. here is the code:

at MainEventBusProcessor.java line 337-357,the notification is sent asynchronous, regardless of whether the sending succeeds or fails. it may cause the wrong order of the event queue.
private void sendPushNotification(String taskId, StreamingEventKind event) {
Runnable pushTask = () -> {
try {
if (event != null) {
LOGGER.debug("Sending push notification for task {}", taskId);
pushSender.sendNotification(event);
} else {
LOGGER.debug("Skipping push notification - event is null for task {}", taskId);
}
} catch (Exception e) {
LOGGER.error("Error sending push notification for task {}", taskId, e);
// Don't rethrow - push notifications are best-effort
}
};

// Use custom executor if set (for tests), otherwise use default ForkJoinPool (async)
if (pushNotificationExecutor != null) {
pushNotificationExecutor.execute(pushTask);
} else {
CompletableFuture.runAsync(pushTask);
}
}

### Relevant log output

```shell

```

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.