-
Notifications
You must be signed in to change notification settings - Fork 275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fix] : avoid the case that increservice may fill duplicated number in multi-CN #19031
base: main
Are you sure you want to change the base?
Conversation
背景这个bug fix的一个背景是想要重新争取优化掉对于下面的insert的主键去重的开销. create table t(a int auto-increment primary key, b int);
insert into t(b) values (1); -- 其他的CN上可能手动地插入了这个CN的incrService cache住的自增区间的值. 在主键去重开启的时候, 大不了 之前提过一次pr, 但被revert了, revert的原因是没有考虑到远端CN在执行的时候没有workspace的信息, 因此在Engine拿表和做检测的时候没有通过相关的防御性代码. relative相关tke的runner : https://github.com/matrixorigin/ci-test/actions/runs/11047965332 后续优化的选项控制的issue跟踪 : #15723 |
向旭哥请教了一下, 检测在preinsert算子内部做在一些场景下仍然会有问题. 要重新改一下, 后面会补充相关的集成测试. 这个pr暂时先不能合 update : https://github.com/matrixorigin/ci-test/actions/runs/11100985195 |
0c8179b
to
c714101
Compare
c714101
to
5473310
Compare
acf01be
to
f733d9a
Compare
What type of PR is this?
Which issue(s) this PR fixes:
issue #16493
What this PR does / why we need it:
PrimaryKeysMayBeModified
做检测, 在遇到这种情况会直接retry, 重新从incr service里面拿值.