* improve batch efficiency by multiple attempts
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* add support for aggressive batching
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* add some metrics for batch client
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* fetch more requests according to recent wait head durs
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* add experimental batch options
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* optimize and refactor
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* some minor updates
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* fix the metric of head arrival interval
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* a minor update
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* some minor fixes
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* update according to the spec
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* fix the ut
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* fix batch condition
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* add some doc comments
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* address https://github.com/tikv/client-go/pull/1411#discussion_r1714086744
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* rename some vars according to the comments
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* add more comments
Signed-off-by: zyguan <zhongyangguan@gmail.com>
---------
Signed-off-by: zyguan <zhongyangguan@gmail.com>
* add enable-replica-selector-v2 config back but mark it was deprecated
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* update comment
Signed-off-by: crazycs520 <crazycs520@gmail.com>
---------
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* init
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add ReplicaSelector interface
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add replica_selector_v2, todo: fix test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix all test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix test in another way to compatible with old version about stale-read request
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* tiny refactor
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refactor to remove duplicate code
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add more test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine onServerIsBusy region error handing logic
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* support forwarding by proxy
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* support busyThreshold and tiny reractor code
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add config
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix proxy bug
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix test and tiny refactor
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add some test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add more test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* tidy refine
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* address comment
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix test in v1
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add backoff-cnt check and timeout test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine code
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine code
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add benchmark test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* make test stale
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix golangci
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add more test and refine code
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix race test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add more comprehensive enumeration testing
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix accessFollower with label retry bug
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine test and fix some bug
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix test and add more test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add more test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine onNotLeader logic when new leader is not available
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine calculateScore logic, if the replica already tried, decrease the score
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine logic: replica-read request with mixed strategy and with label, should be able to retry all remain replicas
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* prefer-leader for mixed read with label for non stale-read req
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add more test case
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine code
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* resolve conflict
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* remove some duplicate test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refactor test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine code
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add busy_threshold test and fix bug
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix proxy bug and add more test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine code and add test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add learner test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add more test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* remove old test and refine test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* move test
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* address comment
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* use new score calculation by flag bit
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* make test stable
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine comment,license and fix lint
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine comment
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* refine comment
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix race test timeout
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* add flagNotAttemp in score
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* address comment
Signed-off-by: crazycs520 <crazycs520@gmail.com>
---------
Signed-off-by: crazycs520 <crazycs520@gmail.com>
* fix: check kill signal against 0, so that all kill signals will not be ignored.
Signed-off-by: ekexium <eke@fastmail.com>
* refactor: extract method checkKilled()
Signed-off-by: ekexium <eke@fastmail.com>
---------
Signed-off-by: ekexium <eke@fastmail.com>
Co-authored-by: cfzjywxk <lsswxrxr@163.com>
* Revert "use ioutil.ReadFile to release dependency of Go 1.16 (#217)"
This reverts commit aadf3cf627.
Signed-off-by: Sandy Xu <sandy@juicedata.io>
* use go 1.16 for examples
Signed-off-by: Sandy Xu <sandy@juicedata.io>