a2aproject / a2aproject/a2a-java

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

Open
#775 1 comment 0 reactions 1 assignee Claimed by @perhaps468 View on GitHub
Dominant language
Java
Stars
490
Forks
172
Avg merge
1d 6h
Merged PRs (30d)
55

Description

### 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.