You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
关于 PR #10631 的 CI 和 Review
大家好,想请大家帮忙看一下这个 PR:
这个 PR 主要修复
DefaultLitePullConsumerImpl.taskTable的并发问题。目前
taskTable会在以下几个方法中进行修改:updatePullTaskupdateAssignPullTaskremovePullTask其中存在 check-then-act 的并发风险,例如:
containsKey和put之间没有同步保护,并发情况下可能产生 race condition。这次修改统一使用:
保证对
taskTable的检查和修改是原子的。另外增加了
DefaultLitePullConsumerImplTaskTableRaceTest,用于复现和验证这个并发问题。目前代码已经提交,想请 committer 帮忙触发一下 CI,如果方便的话也希望帮忙 Review 一下。
如果实现方式有问题,欢迎直接指出,我可以继续修改。
谢谢!
All reactions