This Month in TiKV - August 2020

TiKV Authors

August 31, 2020

August ends with the completion of KubeCon + CloudNative Con EU Virtual and our mentorship programs. We can’t wait to see more to come in the future months!

Let’s take a look at what we have achieved!


To clear the concern of the community, we transferred Placement Driver (PD) from PingCAP to TiKV side. Following this migration, Scheduling SIG joined the TiKV community at #sig-scheduling on the Slack channel.

Hope all attendees had a great time at KubeCon + CloudNativeCon EU Virtual! We had two TiKV related talks presented. If you missed these talks, they are on-demand for anyone registered or check out YouTube Channel in early September.


This month our team made 1 major release!

You can review the changelogs here:

  • 4.0.5
    • New feature
      • Define error code for errors in #8387
    • Bug fixes

Reading materials

In Doubling System Read Throughput with Only 26 Lines of Code, @c4pt0r introduced Follower Read, a feature that lets any follower replica in a Region serve a read request under the premise of strongly consistent reads.

@nrc blogged a post about talks at 2020 Virtual RustCon in Rustconf 2020. If you missed these talks, catch them up!

@skyzh wrote My CommunityBridge Mentorship with TiKV Project to share his experience in the CommunityBridge mentorship program with TiKV project as well as tips on collaborating with an opensource community.

Notable PRs

  • @Renkai implemented server-side streaming requests in coprocessor batch executors in #8322.
  • @skyzh added merge_null support for rpn_fn in #8345.
  • @de-sh added support for the cloud data store in #517.
  • @accelsao conducted port data-driven tests from CockroachDB in #388.
  • @hicqu added the global entry cache to Raft engine in #21.
  • @longfangsong refactored the mod structure of txn commands in #8296.
  • @xhebox forbade adding multiple leaders over the same range in #2761.
  • @disksing supported the RuleGroup configuration in placement rules in #2740.
  • @xhebox supported the batch deletion and insertion in #2699.
  • @hskang9 implemented part of VerKV functionalities in #8282.

Notable issues

Help wanted issues

  • @nolouch created #2843, requesting to fix the issue that many heartbeat update operations might cause GetRegion timeout.
  • @JmPotato added the roadmap of the cross-DC deployment of the local/global transaction in #2759. Join him if you are interested in Local/Global Transaction in Cross-DC Deployment.
  • @Connor1996 suggested adding blob cache usage metrics for Titan in #8552.

Call for participation

  • @Connor1996 opened #8486 to discuss solutions to the problem that too many RocksDB tombstones may slow batch-get.

New Contributors

We’d like to welcome the following new contributors to TiKV and thank them for their work!

If you’d like to get involved, we’d love to help you get started. You might be interested in tackling one of these issues. If you don’t know how to begin, please leave a comment and somebody will help you out. We’re also very keen for people to contribute to documentation, tests, optimizations, benchmarks, refactoring, or other useful things.