njnu-seafish opened a new issue, #17710:
URL: https://github.com/apache/dolphinscheduler/issues/17710

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/dolphinscheduler/issues?q=is%3Aissue) and 
found no similar issues.
   
   
   ### What happened
   
   **Master task dispatch failed: encountered a null key in a parameter map, 
which violates JSON serialization rules;
   The dolphinscheduler-master.log log file contains a large number of the 
following error messages**.
   
   
   `
   [WI-751315][TI-2077572] - 2025-11-19 17:00:08.610 ERROR 
[WorkerGroupTaskDispatcher-default] o.a.d.e.b.s.JsonSerializer:[67] - 
serializeToString exception!
   com.fasterxml.jackson.databind.JsonMappingException: Null key for a Map not 
allowed in JSON (use a converting NullKeySerializer?) (through reference chain: 
org.apache.dolphinscheduler.task.executor.operations.TaskExecutorDispatchRequest["taskExecutionContext"]->org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext["prepareParamsMap"]->java.util.HashMap["null"])
        at 
com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:283)
        at 
com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1370)
        at 
com.fasterxml.jackson.databind.SerializerProvider.reportMappingProblem(SerializerProvider.java:1266)
        at 
com.fasterxml.jackson.databind.ser.impl.FailingSerializer.serialize(FailingSerializer.java:32)
        at 
com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:791)
        at 
com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:764)
        at 
com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:720)
        at 
com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:35)
        at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732)
        at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:772)
        at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178)
        at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732)
        at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:772)
        at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178)
        at 
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:479)
        at 
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:318)
        at 
com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4719)
        at 
com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3964)
        at 
org.apache.dolphinscheduler.extract.base.serialize.JsonSerializer.serialize(JsonSerializer.java:65)
        at 
org.apache.dolphinscheduler.extract.base.StandardRpcRequest.of(StandardRpcRequest.java:42)
        at 
org.apache.dolphinscheduler.extract.base.client.SyncClientMethodInvoker.invoke(SyncClientMethodInvoker.java:43)
        at 
org.apache.dolphinscheduler.extract.base.client.ClientInvocationHandler.invoke(ClientInvocationHandler.java:56)
        at com.sun.proxy.$Proxy209.dispatchTask(Unknown Source)
        at 
org.apache.dolphinscheduler.server.master.engine.task.client.PhysicalTaskExecutorClientDelegator.dispatch(PhysicalTaskExecutorClientDelegator.java:78)
        at 
org.apache.dolphinscheduler.server.master.engine.task.client.TaskExecutorClient.dispatch(TaskExecutorClient.java:54)
        at 
org.apache.dolphinscheduler.server.master.engine.task.dispatcher.WorkerGroupDispatcher.doDispatchTask(WorkerGroupDispatcher.java:94)
        at 
org.apache.dolphinscheduler.server.master.engine.task.dispatcher.WorkerGroupDispatcher.run(WorkerGroupDispatcher.java:79)
   [WI-751315][TI-2077572] - 2025-11-19 17:00:08.611 ERROR 
[WorkerGroupTaskDispatcher-default] o.a.d.s.m.e.t.d.WorkerGroupDispatcher:[102] 
- Dispatch Task: 2077572 failed will retry after: 60000/ms
   
   `
   
   ### What you expected to happen
   
   The Master is able to dispatch this task normally
   
   ### How to reproduce
   
   **Whenever there is a parameter with a null key**.
   
   mysql> select id,task_type,workflow_instance_id,task_params from 
t_ds_task_instance where id = 2077572 \G;
   *************************** 1. row ***************************
                     id: 2077572
              task_type: SHELL
   workflow_instance_id: 751315
            task_params: {"localParams":[],"rawScript":"#!/bin/bash\nset 
-e\n\n\n \necho 
\"====================================\"","resourceList":[{"resourceName":"hdfs://xxx/dolphinscheduler/default/resources/123.sql"}]}
   
   
   mysql> select global_params from t_ds_workflow_instance where id = 751315 \G;
   *************************** 1. row ***************************
   global_params: [{**"prop":null**,"direct":"IN","type":"VARCHAR","value":""}]
   
   ### Anything else
   
   _No response_
   
   ### Version
   
   dev
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


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

Reply via email to