Skip to content
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

请问为何重复发送 #122

Open
ap0405140 opened this issue Sep 20, 2024 · 1 comment
Open

请问为何重复发送 #122

ap0405140 opened this issue Sep 20, 2024 · 1 comment

Comments

@ap0405140
Copy link

运行环境:
Windows10
MYSQL 8.0.33
canal 1.1.7
canal c#: CanalSharp 1.2.1

问题重现:
在mysql执行以下代码(逐句执行)
create table tab0919
(
x1 binary(10),
x2 datetime,
x3 bool,
y varchar(100),
constraint pk_tab0919 primary key(x1,x2,x3)
);

insert into tab0919 select 0x123F,now(),101,'ddd';

insert into tab0919 select 0x123F,now(),102,'ddd';

update tab0919 set x2=now();

alter table tab0919 modify column x1 varbinary(34) not null comment 'xx not null';

insert into tab0919 select 0x123F,now(),103,'ddd';

alter table tab0919 rename column x1 to x1B,rename column x2 to x2B;

alter table tab0919 rename column x1B to x111B;

==> 以上SQL都能正确解析,都已Ack确认过. 但是当执行以下SQL:

insert into tab0919 select 0x123F,now(),104,'1122';

==> 得到的Header.EventType=EventType.Alter,
包含2个SQL:
alter table tab0919 rename column x1 to x1B,rename column x2 to x2B;
alter table tab0919 rename column x1B to x111B
即是前面执行过的SQL, 重复执行该SQL导致报错了! 请问为何重复发送, 前面已接收过一次了, 且已Ack确认过, 还重复接收一次.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
@ap0405140 and others