fix: 整合 Issue #703 稳定性修复并发布 6.3.1#720
Draft
zhibeigg wants to merge 15 commits into
Draft
Conversation
确保 Future 异常可观察,消除递归删除死锁并可靠关闭文件监听与加载资源。
确保链任务和重复调度在失败或取消时终止,避免 Future 与协程永久挂起。
确保动作异常与取消能够结束上下文并回收运行任务,同时序列化远程读取并将计分板更新切回平台线程。
保证事件监听、类访问器缓存与延迟集合并发安全,并让命令树只构建一次且隔离每次执行结果。
确保数据源、连接、客户端和线程资源在启动失败、重连及并发关服场景下可靠释放,并补充相关回归测试。
通过复合唯一索引、兼容迁移和原子 upsert 阻止重复记录,并收敛缓存延迟写与调度竞态以确保最新值最终落库。
保留声明集合语义并按数据库方言生成合法 SQL,同时确保 JEXL 配置变更后重建引擎。
避免无上下文同步任务错误落到全局区域线程,并让 UI、虚拟背包与 NMS 操作按玩家或区域线程执行;同时保证物品数量不足时不发生部分扣除。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
原有问题
Issue #703 的审计结果分布在核心异步、数据库、平台适配、Minecraft 功能模块和构建发布等多个区域。单独修复其中一处不能证明这些改动串联后仍然兼容,也不能形成一个可直接进行真实环境测试的补丁版本。
原基线主要存在以下风险:
典型触发场景与后果
本 PR 修改
dev/6.3.0@4bced1a4,按原顺序串联 fix(core): 修复异步任务与资源生命周期 #704、fix(submit-chain): 完善异常与取消传播 #705、fix(kether): 修复异步上下文完成与线程切换 #706、fix(common): 修复共享基础组件并发竞态 #707、fix(database): 完善数据库与 Redis 资源生命周期 #709、fix(database): 修复玩家数据并发写入一致性 #710、fix: 修复配置转换、SQL 方言与 JEXL 配置失效 #711、fix(bukkit): 收紧 Folia 调度与背包线程所有权 #712、fix(porticus): 修复发送线程、超时终态与分包完整性 #713、fix(platform): 修复生命周期终态与任务清理 #715、fix: 修复 Hytale 等平台适配正确性 #716、fix: 修复导航边界与路径平滑正确性 #717、fix: 修复语言重载与聊天颜色边界 #718、fix(build): 修复 Maven 发布模型与 Java 8 门禁 #719 的全部修复提交。database-player生命周期与并发一致性修改之间的冲突,保留自建数据源所有权、失败回收、唯一索引迁移和原子 upsert 两组行为。6.3.0提升到补丁版本6.3.1,作为后续真实服务端测试的统一候选分支。修改目的
提供一个包含 Issue #703 全部修复、已经过跨 PR 冲突处理和全仓验收的单一
6.3.1候选版本,方便维护者和测试人员直接部署,而不需要手工组合多个分支。兼容性与行为变化
6.3.0 -> 6.3.1。整合来源
自动化验证
./gradlew test --rerun-tasks --continue --stacktrace --no-parallel./gradlew build --continue --stacktrace --no-parallelverifyJava8Compatibility与verifyPublishingModel通过。./gradlew publishToMavenLocal -Dmaven.repo.local=<isolated-m2> --stacktrace --no-parallelplatform-*-impl与common-reflex正常发布。真实环境测试建议
Closes #703