tikv / client-go

Go client for TiKV
Apache License 2.0
275 stars 216 forks source link

kvclient panic when kill pd leader during br backup #1357

Open Lily2025 opened 3 months ago

Lily2025 commented 3 months ago

1、run br backup 2、kill pd leader 3、br backup failed `panic: close of closed channel

goroutine 2822 [running]: github.com/tikv/client-go/v2/internal/client.(*batchConn).Close(...) /root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20240528025037-f41b068bf706/internal/client/client_batch.go:769 github.com/tikv/client-go/v2/internal/client.(*connArray).Close(0xc0004bb560) /root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20240528025037-f41b068bf706/internal/client/client.go:330 +0xf6 github.com/tikv/client-go/v2/internal/client.(*RPCClient).CloseAddr(0xc0007e3680, {0xc000f7e7d0, 0x44}) /root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20240528025037-f41b068bf706/internal/client/client.go:797 +0x1e5 github.com/tikv/client-go/v2/internal/client.(*RPCClient).recycleIdleConnArray(0xc0007e3680) /root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20240528025037-f41b068bf706/internal/client/client_batch.go:835 +0x1f7 created by github.com/tikv/client-go/v2/internal/client.(*RPCClient).sendRequest in goroutine 2821 /root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20240528025037-f41b068bf706/internal/client/client.go:587 +0x34b`

tidb version: ./tidb-server -V Release Version: v7.5.2 Edition: Community Git Commit Hash: 39ea2b30d32ab8cf486f30ca318cf2e4bd99eaef Git Branch: HEAD UTC Build Time: 2024-05-29 15:07:12 GoVersion: go1.21.10 Race Enabled: false Check Table Before Drop: false Store: unistore 2024-05-30T14:14:32.686+0800

crazycs520 commented 3 months ago

fixed by https://github.com/tikv/client-go/pull/1359

crazycs520 commented 1 month ago

/affect-8.1 /affect-8.0 /affect-7.5 /affect-6.5