我们在升级dolphinscheduler3.1.8到dolphinscheduler3.2.2后发现,原来正常的钉钉警告消息没有了。查一下alertserver的日志,发现有错误日志:
[ERROR] 2026-01-05 11:12:02.653 +0800 org.apache.dolphinscheduler.common.utils.JSONUtils:[186] - parse list exception! com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<org.apache.dolphinscheduler.spi.params.base.PluginParams>` from Object value (token `JsonToken.START_OBJECT`) at [Source: (String)"{"AtUserIds":null,"User":null,"Keyword":"数据中台有跑批失败,请登录处理:http://10.16.10.102:12345/dolphinscheduler/ui/","Port":null,"WarningType":"failure","WebHook":"https://oapi.dingtalk.com/robot/send?access_token=e9485a8c19ff0a63eb2ffecd5e0595b9e1e1ffaa83da32d8d20237dd406a2dbc","IsAtAll":"true","MsgType":"text","Secret":"SEC4ffc5decbbc6855a953674e75bae8ae2025cd5ba02b0fa98630b5dfc1d0b2f32","Proxy":null,"IsEnableProxy":"false","AtMobiles":null,"Password":null}"; line: 1, column: 1] at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1741) at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1515) at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1462) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.handleNonArray(CollectionDeserializer.java:392) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:252) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:28) at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3629) at org.apache.dolphinscheduler.common.utils.JSONUtils.toList(JSONUtils.java:184) at org.apache.dolphinscheduler.spi.params.PluginParamsTransfer.transferJsonToParamsList(PluginParamsTransfer.java:42) at org.apache.dolphinscheduler.spi.params.PluginParamsTransfer.getPluginParamsMap(PluginParamsTransfer.java:49) at org.apache.dolphinscheduler.alert.service.AbstractEventSender.doSendEvent(AbstractEventSender.java:125) at org.apache.dolphinscheduler.alert.service.AbstractEventSender.sendEvent(AbstractEventSender.java:73) at org.apache.dolphinscheduler.alert.service.AlertEventLoop.handleEvent(AlertEventLoop.java:43) at org.apache.dolphinscheduler.alert.service.AlertEventLoop.handleEvent(AlertEventLoop.java:27) at org.apache.dolphinscheduler.alert.service.AbstractEventLoop.lambda$run$0(AbstractEventLoop.java:73) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)修改如下文件: