关于FlowExecutor 填充元数据后,重新获取数据后,产生数据丢失和线程不安全的问题
- Dominant language
- Java
- Stars
- 3.9k
- Forks
- 525
- PR merge metrics
- No merged PRs in 30d
Description
我这边在使用 liteflow时 遇到一个问题 基于 liteflow-core 2.6.7
如上图 线程 29 和 30 在 FlowExecutor 装填参数的 时候 row 都是有值 ,而在 ActionComponent(NodeComponent的实现类)中获取到 slot.getRequestData() 的时候 ,row被置空了 而且 线程29 和 线程30 ,数据被污染了(被覆盖了),现象是随机出现的,同样的数据 前一次可能失败,后面的都是成功的 ,问题的发生没有规律性
请问 有遇到过这个情况吗?


关于日志是输出的补充
2023-09-11 13:11:11.238 INFO 16704 [http-nio-9003-exec-30] com.yomahub.liteflow.core.FlowExecutor slot[0] offered
2023-09-11 13:11:11.239 INFO 16704 [http-nio-9003-exec-29] com.yomahub.liteflow.core.FlowExecutor slot[0] offered
2023-09-11 13:11:11.239 INFO 16704 [http-nio-9003-exec-29] com.yomahub.liteflow.core.FlowExecutor requestId[zXVPZq4wdi8RqBrmwedJk] has generated
2023-09-11 13:11:11.239 INFO 16704 [http-nio-9003-exec-30] com.yomahub.liteflow.core.FlowExecutor requestId[EX9O89VV33A2agXpS5tmF] has generated
线程 29 和 30 生成的requestId 是不同的 但是 在slot 槽位的获取上,却同时获取到了 slot[0]
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.