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);
     }
 

Reply via email to