From f88d36952020fc08b738729b025756ef56e4c255 Mon Sep 17 00:00:00 2001 From: ti-srebot <66930949+ti-srebot@users.noreply.github.com> Date: Tue, 26 Jan 2021 10:09:43 +0800 Subject: [PATCH 1/2] cherry pick #3254 to release-4.0 (#3259) Signed-off-by: Ryan Leung Co-authored-by: Ryan Leung --- server/schedule/checker/merge_checker.go | 7 +++++++ server/schedule/checker/merge_checker_test.go | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/server/schedule/checker/merge_checker.go b/server/schedule/checker/merge_checker.go index c2a33394348..dc6658357b4 100644 --- a/server/schedule/checker/merge_checker.go +++ b/server/schedule/checker/merge_checker.go @@ -29,6 +29,8 @@ import ( "github.com/tikv/pd/server/schedule/placement" ) +const maxTargetRegionSize = 500 + // MergeChecker ensures region to merge with adjacent region when size is small type MergeChecker struct { cluster opt.Cluster @@ -119,6 +121,11 @@ func (m *MergeChecker) Check(region *core.RegionInfo) []*operator.Operator { return nil } + if target.GetApproximateSize() > maxTargetRegionSize { + checkerCounter.WithLabelValues("merge_checker", "target-too-large").Inc() + return nil + } + log.Debug("try to merge region", logutil.ZapRedactStringer("from", core.RegionToHexMeta(region.GetMeta())), logutil.ZapRedactStringer("to", core.RegionToHexMeta(target.GetMeta()))) diff --git a/server/schedule/checker/merge_checker_test.go b/server/schedule/checker/merge_checker_test.go index 31e3f33bf78..77b20a6ee95 100644 --- a/server/schedule/checker/merge_checker_test.go +++ b/server/schedule/checker/merge_checker_test.go @@ -145,6 +145,12 @@ func (s *testMergeCheckerSuite) TestBasic(c *C) { // The size should be small enough. ops = s.mc.Check(s.regions[1]) c.Assert(ops, IsNil) + // target region size is too large + s.cluster.PutRegion(s.regions[1].Clone(core.SetApproximateSize(600))) + ops = s.mc.Check(s.regions[2]) + c.Assert(ops, IsNil) + // change the size back + s.cluster.PutRegion(s.regions[1].Clone(core.SetApproximateSize(200))) ops = s.mc.Check(s.regions[2]) c.Assert(ops, NotNil) // Check merge with previous region. From c8a462562aa50e6b37a0b5000f8f205ee49cc459 Mon Sep 17 00:00:00 2001 From: ti-srebot <66930949+ti-srebot@users.noreply.github.com> Date: Tue, 26 Jan 2021 10:29:43 +0800 Subject: [PATCH 2/2] dashboard: Update to TiDB Dashboard v2021.01.04.1 (#3326) (#3327) * cherry pick #3326 to release-4.0 Signed-off-by: ti-srebot * fix Signed-off-by: Zheng Xiangsheng Co-authored-by: Wenxuan Co-authored-by: Zheng Xiangsheng Co-authored-by: Ti Chi Robot <71242396+ti-chi-bot@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7f96895e269..30b46775087 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/opentracing/opentracing-go v1.1.0 github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/phf/go-queue v0.0.0-20170504031614-9abe38d0371d - github.com/pingcap-incubator/tidb-dashboard v0.0.0-20201126111827-6c8be2240067 + github.com/pingcap-incubator/tidb-dashboard v0.0.0-20210104140916-41a0a3a87e75 github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712 github.com/pingcap/errcode v0.3.0 github.com/pingcap/errors v0.11.5-0.20201126102027-b0a155152ca3 diff --git a/go.sum b/go.sum index 9bae40fe8df..e729dc3aef2 100644 --- a/go.sum +++ b/go.sum @@ -300,8 +300,8 @@ github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= github.com/phf/go-queue v0.0.0-20170504031614-9abe38d0371d h1:U+PMnTlV2tu7RuMK5etusZG3Cf+rpow5hqQByeCzJ2g= github.com/phf/go-queue v0.0.0-20170504031614-9abe38d0371d/go.mod h1:lXfE4PvvTW5xOjO6Mba8zDPyw8M93B6AQ7frTGnMlA8= -github.com/pingcap-incubator/tidb-dashboard v0.0.0-20201126111827-6c8be2240067 h1:hq1pTBUxx0Szt6vyM++KQR+kmxhTPDC5csJPRkQzxO8= -github.com/pingcap-incubator/tidb-dashboard v0.0.0-20201126111827-6c8be2240067/go.mod h1:EONGys2gM5n14pII2vjmU/5VG3Dtj6kpqUT1GUZ4ysw= +github.com/pingcap-incubator/tidb-dashboard v0.0.0-20210104140916-41a0a3a87e75 h1:XJ/OVqPtHuGNLgCu6xgSlCouz5roe3Yf3TXHjVNf+9w= +github.com/pingcap-incubator/tidb-dashboard v0.0.0-20210104140916-41a0a3a87e75/go.mod h1:EONGys2gM5n14pII2vjmU/5VG3Dtj6kpqUT1GUZ4ysw= github.com/pingcap/check v0.0.0-20190102082844-67f458068fc8/go.mod h1:B1+S9LNcuMyLH/4HMTViQOJevkGiik3wW2AN9zb2fNQ= github.com/pingcap/check v0.0.0-20191107115940-caf2b9e6ccf4/go.mod h1:PYMCGwN0JHjoqGr3HrZoD+b8Tgx8bKnArhSq8YVzUMc= github.com/pingcap/check v0.0.0-20191216031241-8a5a85928f12/go.mod h1:PYMCGwN0JHjoqGr3HrZoD+b8Tgx8bKnArhSq8YVzUMc=