Skip to content

PdOracle leak if other error happens in NewKVStore #1764

@lance6716

Description

@lance6716

client-go/tikv/kv.go

Lines 319 to 326 in 0fdd255

func NewKVStore(uuid string, pdClient pd.Client, spkv SafePointKV, tikvclient Client, opt ...Option) (*KVStore, error) {
o, err := oracles.NewPdOracle(pdClient, &oracles.PDOracleOptions{
UpdateInterval: defaultOracleUpdateInterval,
})
if err != nil {
return nil, err
}
ctx, cancel := context.WithCancel(context.Background())

forget to call o.Close and other objects' Close. It will cause some error log like [pd.go:474] ["updateTS error"] and [region_cache.go:763] ["refresh full store list failed"]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions