SNWCreations/KookBC

实体对象的数据在更新时不安全

Closed this issue · 2 comments

您期望得到什么

在实体的数据被更新时,任何尝试读取数据的操作将被暂停,以避免读取到的数据是旧的。

实际得到什么

根据源代码,数据更新时没有对实体对象上锁,故在更新期间的实体数据是不安全的,此时若发生读取,将得到旧数据。

重现错误的步骤

报错日志

相关信息

  • KookBC 版本: 0.26.13
  • JKook API 版本: 0.48.2
  • 您使用的 JKook 插件 的相关信息 (如 名称、作者、版本): None
  • Java 版本: None
  • 操作系统 (及其版本): None

指派 @SNWCreations 修复,工作在 perf/update-safely 分支进行。

已初步修复,有意审核者可以运行 perf/update-safely 分支的 Actions 构建体验。

在 0.26.14 中得到修复。