tikv / tikv/pd

RegionSyncer may lost some data

Open
#4,375 1 comment 0 reactions 0 assignees View on GitHub
type/enhancement
Dominant language
Go
Stars
1.2k
Forks
783
Avg merge
5d 21h
Merged PRs (30d)
36

Description

## Development Task
In the region syncer test: https://ci2.pingcap.net/blue/organizations/jenkins/pd_test/detail/pd_test/3614/pipeline/54/
```
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.907 +08:00] [INFO] [client.go:167] ["server starts to synchronize with leader"] [server=pd2] [leader=pd1] [request-index=0]
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.908 +08:00] [INFO] [client.go:167] ["server starts to synchronize with leader"] [server=pd3] [leader=pd1] [request-index=0]
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.908 +08:00] [INFO] [server.go:181] ["establish sync region stream"] [requested-server=pd2] [url=http://127.0.0.1:41336]
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.908 +08:00] [INFO] [region.go:543] ["leader changed"] [region-id=256] [from=0] [to=0]
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.908 +08:00] [INFO] [server.go:181] ["establish sync region stream"] [requested-server=pd3] [url=http://127.0.0.1:34643]
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.908 +08:00] [INFO] [server.go:256] ["sync the history regions with server"] [server=pd2] [from-index=0] [last-index=299] [records-length=299]
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.909 +08:00] [INFO] [server.go:256] ["sync the history regions with server"] [server=pd3] [from-index=0] [last-index=299] [records-length=299]
[2021-11-24T12:10:23.584Z] [2021/11/24 20:09:15.910 +08:00] [INFO] [region.go:543] ["leader changed"] [region-id=259] [from=0] [to=0]
[2021-11-24T12:10:23.585Z] [2021/11/24 20:09:15.913 +08:00] [INFO] [server.go:295] ["start broadcast"] [to-server=pd2] ["start index"=300] [length=1]
[2021-11-24T12:10:23.585Z] [2021/11/24 20:09:15.913 +08:00] [INFO] [region.go:543] ["leader changed"] [region-id=262] [from=0] [to=0]
[2021-11-24T12:10:23.585Z] [2021/11/24 20:09:15.913 +08:00] [INFO] [server.go:295] ["start broadcast"] [to-server=pd3] ["start index"=300] [length=1]
[2021-11-24T12:10:23.585Z] [2021/11/24 20:09:15.916 +08:00] [INFO] [server.go:295] ["start broadcast"] [to-server=pd2] ["start index"=301] [length=1]
[2021-11-24T12:10:23.585Z] [2021/11/24 20:09:15.916 +08:00] [INFO] [server.go:295] ["start broadcast"] [to-server=pd3] ["start index"=301] [length=1]
[2021-11-24T12:10:23.585Z] [2021/11/24 20:09:15.917 +08:00] [INFO] [region.go:543] ["leader changed"] [region-id=265] [from=0] [to=0]
```
As the log show, index 299 is lost. which is caused by the sync data and broadcast data have concurrency issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.