Skip to content

Clean up options used in store/tikv #24302

@disksing

Description

@disksing

This is a tracking issue of the big task #22513


The options (store/tikv/kv/option.go) have now been moved to store/tikv. However, this usage pattern of options was created due to the limitations of TiDB and now we have a large number of direct references to these enumerations in other packages of tidb. We would like to move the usage of options out of store/tikv.

Specifically we need to:

  • Use concrete member variables instead of values in map of interface{}
  • Use a concrete method for setting the option
  • Ensure that the option eum are only used in tidb (not in store/tikv)
  • Adapt options to concrete variables in store/driver/txn.

You may refer to the technique we used in #23873 as an example.

  • BinlogInfo
  • SchemaChecker
  • IsolationLevel
  • Priority
  • NotFillCache
  • SyncLog
  • KeyOnly
  • Pessimistic
  • SnapshotTS
  • ReplicaRead
  • TaskID
  • InfoSchema
  • CollectRuntimeStats
  • SchemaAmender
  • SampleStep
  • CommitHook
  • EnableAsyncCommit
  • Enable1PC
  • GuaranteeLinearizability
  • TxnScope
  • IsStalenessReadOnly
  • MatchStoreLabels
  • KVFilter

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/enhancementThe issue or PR belongs to an enhancement.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions