Skip to content

Merge TiKV(bce01cf) into Proxy#249

Merged
hongyunyan merged 474 commits intopingcap:raftstore-proxyfrom
hongyunyan:hongyunyan-merge-tikv-master
Jan 7, 2023
Merged

Merge TiKV(bce01cf) into Proxy#249
hongyunyan merged 474 commits intopingcap:raftstore-proxyfrom
hongyunyan:hongyunyan-merge-tikv-master

Conversation

@hongyunyan
Copy link

What problem does this PR solve?

Issue Number: close #xxx

Problem Summary:

What is changed and how it works?

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Changes MySQL compatibility

Release note

None

5kbpers and others added 30 commits September 8, 2022 17:48
ref tikv#12901

Add `put_recover_from_raft_db` and `recover_from_raft_db` to raft engine for checking if store should be recovered from states in raftdb.

Signed-off-by: 5kbpers <[email protected]>
ref tikv#12849

Support new engine trait can_apply_snapshot

Signed-off-by: CalvinNeo <[email protected]>
ref tikv#13433

Signed-off-by: Ryan Leung <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
…c keys (tikv#13426)

close tikv#13425, ref pingcap/tidb#35525

Don't treat newer Rollback records as write conflicts for non-pessimistic
keys in pessimistic transactions. They can cause false positive errors
because they can be written even if the pessimistic lock of the
corresponding row key exists.

Rollback records are only used to prevent retried prewrite from
succeeding. Even if the Rollback record of the current transaction is
collapsed by a newer record, it is safe to prewrite this non-pessimistic
key because either the primary key is rolled back or it's protected
because it's written by CheckSecondaryLocks.

Signed-off-by: Yilin Chen <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
close tikv#13435

Add hook to observe the update of safe ts to calculate the TiFlash synchronization progress, including leader safe ts from check_leader RPC, and the update of self safe ts when receive check_leader RPC or apply.

Signed-off-by: hehechen <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
close tikv#13095

Update rust-rocksdb

Signed-off-by: tabokie <[email protected]>
ref tikv#12849

Support self-defined addr/status_addr

Signed-off-by: CalvinNeo <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#13353

Signed-off-by: hehechen <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#12849

Support coprocessor observer pre_commit

Signed-off-by: CalvinNeo <[email protected]>
close tikv#13058

Some useless methods are not ported.

Signed-off-by: Jay Lee <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#12842

It's a super set of batch channel. It can be used as a batch channel
or just a future channel.

This is the first PR to use unified thread pool in apply system for v2.

Signed-off-by: Jay Lee <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
…shared_db() (tikv#13465)

close tikv#13463

Signed-off-by: BornChanger <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
…s different with TiDB. (tikv#13472)

close tikv#13458

Signed-off-by: Meng Xin <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#12901

Set sequence number to `ApplyRes`

Signed-off-by: 5kbpers <[email protected]>
Signed-off-by: 5kbpers <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
Co-authored-by: Jay <[email protected]>
close tikv#13436

Signed-off-by: haojinming <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
…ult value update (tikv#13457)

close tikv#13456

Signed-off-by: Leavrth <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#13058

Everything is almost the same as engine_rocks except engine_tirocks
put snapshot into an `Arc`. The old implementation is not safe as the
snapshot can be released while the iterator is still being used.

Signed-off-by: Jay Lee <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#12020, ref tikv#12842, ref tikv#13334

This PR implements write proposal and proposal batch.

Compared to v1, a custom codec is introduced to make batch more efficient.

Epoch checker will be added in next PR.

Signed-off-by: Jay Lee <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
…store (tikv#13374)

close tikv#13376

Signed-off-by: fengou1 <[email protected]>
Signed-off-by: 3pointer <[email protected]>
Signed-off-by: fengou1 <[email protected]>

Co-authored-by: 3pointer <[email protected]>
Co-authored-by: 3pointer <[email protected]>
Co-authored-by: qupeng <[email protected]>
ref tikv#13303, close tikv#13448

Since deleting the old MVCC keys directly will cause the GC Compaction Filter to mishandle the deletion entry,
this PR refactors the `FlashbackToVersionReadPhase` and `FlashbackToVersion` commands to use the MVCC
overwriting to achieve the flashback.

Signed-off-by: JmPotato <[email protected]>
…re (tikv#13028)

close tikv#12344

Signed-off-by: fengou1 <[email protected]>
Signed-off-by: 3pointer <[email protected]>
Signed-off-by: fengou1 <[email protected]>

Co-authored-by: 3pointer <[email protected]>
Co-authored-by: 3pointer <[email protected]>
Co-authored-by: qupeng <[email protected]>
BusyJay and others added 10 commits December 27, 2022 10:00
ref tikv#12842

This PR fixes several issues:
- raftstore CPU usage missing in grafana
- restart fails because incorrect path asserts
- restart fails because of missing flush records
- get snapshots fails occasionally because of lease not renew

Signed-off-by: Jay Lee <[email protected]>
ref tikv#12842

This PR makes check leader works by introducing a trait `ExternRegionInfo`.

Signed-off-by: Jay Lee <[email protected]>
close tikv#13941, ref pingcap/tidb#39620

- If failed to get initial snapshot, remove the subscription as soon as possible. 
- Added a cache of getting checkpoint. This cache is lease-based -- the lease time is simply the tick interval of the coordinator. 
- Make the channel size huger for don't blocking the main loop when many regions migrating.

Signed-off-by: hillium <[email protected]>
Signed-off-by: hillium <[email protected]>
Signed-off-by: 山岚 <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#12842

Signed-off-by: tabokie <[email protected]>
Signed-off-by: Xinye Tao <[email protected]>
ref tikv#12842

Implement periodical purge in v2.

Signed-off-by: tabokie <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
ref tikv#12842

If operations like snapshot, split, are aborted by restart, they needs
to be either resumed or cleanup. This PR checks for garbage after
restart and resume committed operations.

Signed-off-by: Jay Lee <[email protected]>

Co-authored-by: Ti Chi Robot <[email protected]>
@CLAassistant
Copy link

CLAassistant commented Jan 4, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
7 out of 14 committers have signed the CLA.

✅ dveeden
✅ lijie0123
✅ SpadeA-Tang
✅ HuSharp
✅ fengou1
✅ hongyunyan
✅ lance6716
❌ v01dstar
❌ BusyJay
❌ YuJuncen
❌ MyonKeminta
❌ tabokie
❌ LykxSassinator
❌ bufferflies
You have signed the CLA already but the status is still pending? Let us recheck it.

Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
Signed-off-by: hongyunyan <[email protected]>
@hongyunyan hongyunyan changed the title merge tikv into proxy merge tikv(bce01cf) into proxy Jan 5, 2023
@hongyunyan hongyunyan changed the title merge tikv(bce01cf) into proxy Merge TiKV(bce01cf) into Proxy Jan 5, 2023
Copy link
Member

@CalvinNeo CalvinNeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@hongyunyan
Copy link
Author

/run-all-tests

@hongyunyan
Copy link
Author

/run-build-check-old (pull_request)

@hongyunyan hongyunyan merged commit 6ce5c72 into pingcap:raftstore-proxy Jan 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.