You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "yangxiao (Jira)" <ji...@apache.org> on 2024/06/26 04:22:00 UTC
[jira] [Created] (FLINK-35701) SqlServer the primary key type is uniqueidentifier, the scan.incremental.snapshot.chunk.size parameter does not take effect during split chunk
yangxiao created FLINK-35701:
--------------------------------
Summary: SqlServer the primary key type is uniqueidentifier, the scan.incremental.snapshot.chunk.size parameter does not take effect during split chunk
Key: FLINK-35701
URL: https://issues.apache.org/jira/browse/FLINK-35701
Project: Flink
Issue Type: Bug
Components: Flink CDC
Reporter: yangxiao
1. The source table in the SQL Server database contains 1000000 inventory data records. The default value of scan.incremental.snapshot.chunk.size is 8096.
2. Only one chunk is split, which should be 124 chunks.
Problem reproduction:
1. Create a test table in the SQL Server and import data.
BEGIN TRANSACTION
USE [testdb];
DROP TABLE [dbo].[testtable];
CREATE TABLE [dbo].[testtable] (
[TestId] varchar(64),
[CustomerId] varchar(64),
[Id] uniqueidentifier NOT NULL,
PRIMARY KEY CLUSTERED ([Id])
);
ALTER TABLE [dbo].[testtable] SET (LOCK_ESCALATION = TABLE);
COMMIT
declare @Id int;
set @Id=1;
while @Id<=1000000
begin
insert into testtable values(NEWID(), NEWID(), NEWID());
set @Id=@Id+1;
end;
2. Use flinkcdc sqlserver connector to collect data.
CREATE TABLE testtable (
TestId STRING,
CustomerId STRING,
Id STRING,
PRIMARY KEY (Id) NOT ENFORCED
) WITH (
'connector' = 'sqlserver-cdc',
'hostname' = '',
'port' = '1433',
'username' = '',
'password' = '',
'database-name' = 'testdb',
'table-name' = 'dbo.testtable'
);
3、LOG
2024-06-26 10:04:43,377 | INFO | [SourceCoordinator-Source: testtable[1]] | Use unevenly-sized chunks for table cdm.dbo.CustomerVehicle, the chunk size is 8096 | com.ververica.cdc.connectors.sqlserver.source.dialect.SqlServerChunkSplitter.splitUnevenlySizedChunks(SqlServerChunkSplitter.java:268)
2024-06-26 10:04:43,385 | INFO | [SourceCoordinator-Source: testtable[1]] | Split table cdm.dbo.CustomerVehicle into 1 chunks, time cost: 144ms. | com.ververica.cdc.connectors.sqlserver.source.dialect.SqlServerChunkSplitter.generateSplits(SqlServerChunkSplitter.java:117)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)