This is an automated email from the ASF dual-hosted git repository. xtsong pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/flink-agents.git
The following commit(s) were added to refs/heads/main by this push: new 594c10f [Api][Java] Check JSON Serializability Before Sending Event to Context (#61) 594c10f is described below commit 594c10feaa39cec83ca3506f021ea7e1a1d2f708 Author: Kavishankarks <57652470+kavishanka...@users.noreply.github.com> AuthorDate: Mon Jul 14 07:28:19 2025 +0530 [Api][Java] Check JSON Serializability Before Sending Event to Context (#61) --- api/src/main/java/org/apache/flink/agents/api/Event.java | 1 - .../apache/flink/agents/runtime/context/RunnerContextImpl.java | 9 +++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/org/apache/flink/agents/api/Event.java b/api/src/main/java/org/apache/flink/agents/api/Event.java index 1b24b92..293aada 100644 --- a/api/src/main/java/org/apache/flink/agents/api/Event.java +++ b/api/src/main/java/org/apache/flink/agents/api/Event.java @@ -27,7 +27,6 @@ public abstract class Event { private final UUID id; private final Map<String, Object> attributes; - // TODO: check json serializable when send event to Context. public Event() { this.id = UUID.randomUUID(); attributes = new HashMap<>(); diff --git a/runtime/src/main/java/org/apache/flink/agents/runtime/context/RunnerContextImpl.java b/runtime/src/main/java/org/apache/flink/agents/runtime/context/RunnerContextImpl.java index 82661ce..51bdb80 100644 --- a/runtime/src/main/java/org/apache/flink/agents/runtime/context/RunnerContextImpl.java +++ b/runtime/src/main/java/org/apache/flink/agents/runtime/context/RunnerContextImpl.java @@ -19,6 +19,8 @@ package org.apache.flink.agents.runtime.context; import org.apache.flink.agents.api.Event; import org.apache.flink.agents.api.context.RunnerContext; +import org.apache.flink.agents.plan.utils.JsonUtils; +import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException; import org.apache.flink.util.Preconditions; import java.util.ArrayList; @@ -34,6 +36,13 @@ public class RunnerContextImpl implements RunnerContext { @Override public void sendEvent(Event event) { + try { + JsonUtils.checkSerializable(event); + } catch (JsonProcessingException e) { + throw new IllegalArgumentException( + "Event is not JSON serializable. All events sent to context must be JSON serializable.", + e); + } pendingEvents.add(event); }