问题:修改完工作流之后返回工作流列表程序出现异常。
ds版本:apache-dolphinscheduler-3.0.0-alpha-bin
一直转圈圈:F12查看返回值
找到 请求工作流列表的api process-definition
发现错误 10122
查看api日志
[ERROR] 2022-07-04 03:21:51.323 org.apache.dolphinscheduler.api.exceptions.ApiExceptionHandler:[47] - query process definition
list paging error
org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Duplicate key 10001; nested exceptio
n is com.fasterxml.jackson.databind.JsonMappingException: Duplicate key 10001 (through reference chain: org.apache.dolphinsche
duler.api.utils.Result["data"]->org.apache.dolphinscheduler.api.utils.PageInfo["totalList"]->java.util.ArrayList[3]->org.apach
e.dolphinscheduler.dao.entity.ProcessDefinition["globalParamMap"])
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMess
ageConverter.java:463)
at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.ja
va:104)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConve
rters(AbstractMessageConverterMethodProcessor.java:290)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestR
esponseBodyMethodProcessor.java:183)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodRetu
rnValueHandlerComposite.java:78)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocabl
eHandlerMethod.java:135)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappi
ngHandlerAdapter.java:895)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHan
dlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87
)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
......
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Duplicate key 10001 (through reference chain: org.apache.dolphinscheduler.api.utils.Result["data"]->org.apache.dolphinscheduler.api.utils.PageInfo["totalList"]->java.util.ArrayList[3]->org.apache.dolphinscheduler.dao.entity.ProcessDefinition["globalParamMap"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:316)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:730)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119)
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79)
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1433)
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:921)
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:454)
... 75 common frames omitted
Caused by: java.lang.IllegalStateException: Duplicate key 10001
at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)
.......
发现存在冲突的问题。通过Navicat Premium 15工具我们找到这条数据。发现并不是10001这边条数据值有问题而是变量存在多个。
修改 t_ds_process_definition 这个表的 global_params
刷新页面就可以正常显示了。
目录
问题:修改完工作流之后返回工作流列表程序出现异常。
ds版本:apache-dolphinscheduler-3.0.0-alpha-bin
找到 请求工作流列表的api process-definition
查看api日志
修改 t_ds_process_definition 这个表的 global_params
问题总结:
变量名一致的情况下提交的时候不会做变量名称(全局和局部变量都不可以一样)的校验,只会做值得校验。需要注意。希望早点修复吧



