Multiple append can be combined into a single call CRT-P0001
Performance
Major
8 months ago4 years old
can combine chain of 2 appends into one
443	for i := 10; i < 50; i++ {
444		regions = append(regions, testRegionInfo{uint64(i), []uint64{1, 2, 3}, smallHotPeerByte, 0, smallHotPeerQuery})
445		if i < 20 {
446			regions = append(regions, testRegionInfo{uint64(i), []uint64{2, 1, 3}, smallHotPeerByte, 0, smallHotPeerQuery})447			regions = append(regions, testRegionInfo{uint64(i), []uint64{3, 1, 2}, smallHotPeerByte, 0, smallHotPeerQuery})
448		}
449	}
can combine chain of 2 appends into one
1012
1013	events := []*etcdEvent{}
1014	// Split target keyspace group event arrives first.
1015	events = append(events, generateKeyspaceGroupPutEvent(2, []uint32{2} /* Mock 2 replicas */, []string{svcAddr, svcAddr}, &endpoint.SplitState{1016		SplitSource: 1,
1017	}))
1018	// Split source keyspace group event arrives later.
can combine chain of 11 appends into one
 291	events := []*etcdEvent{}
 292	// Assign keyspace group 0 to this host/pod/keyspace-group-manager.
 293	// final result: assigned [0], loaded [0]
 294	events = append(events, generateKeyspaceGroupPutEvent(0, []uint32{0}, []string{svcAddr})) 295	// Assign keyspace group 1 to this host/pod/keyspace-group-manager.
 296	// final result: assigned [0,1], loaded [0,1]
 297	events = append(events, generateKeyspaceGroupPutEvent(1, []uint32{1}, []string{"unknown", svcAddr}))
can combine chain of 3 appends into one
 270				reported += str
 271			}
 272		}
 273		status.Details = append(status.Details, "Stores that have not dispatched plan: "+strings.Trim(undispatched, ", ")) 274		status.Details = append(status.Details, "Stores that have reported to PD: "+strings.Trim(reported, ", "))
 275		status.Details = append(status.Details, "Stores that have not reported to PD: "+strings.Trim(unreported, ", "))
 276	} else {
can combine chain of 11 appends into one
227func (suite *balanceSchedulerPlanAnalyzeTestSuite) TestAnalyzerResult5() {
228	re := suite.Require()
229	plans := make([]Plan, 0)
230	plans = append(plans, &BalanceSchedulerPlan{Source: suite.stores[4], Step: 0, Status: NewStatus(StatusStoreRemoveLimitThrottled)})231	plans = append(plans, &BalanceSchedulerPlan{Source: suite.stores[3], Region: suite.regions[0], Step: 1, Status: NewStatus(StatusRegionNotMatchRule)})
232	plans = append(plans, &BalanceSchedulerPlan{Source: suite.stores[2], Region: suite.regions[0], Step: 1, Status: NewStatus(StatusRegionNotMatchRule)})
233	plans = append(plans, &BalanceSchedulerPlan{Source: suite.stores[1], Target: suite.stores[0], Step: 2, Status: NewStatus(StatusStoreScoreDisallowed)})