lease/lessor.go
func (le *lessor) checkpointScheduledLeases() {
	var cps []*pb.LeaseCheckpoint

	// rate limit
	for i := 0; i < leaseCheckpointRate/2; i++ {
		le.mu.Lock()
		if le.isPrimary() {
			cps = le.findDueScheduledCheckpoints(maxLeaseCheckpointBatchSize)
		}
		le.mu.Unlock()

		if len(cps) != 0 {
			le.cp(context.Background(), &pb.LeaseCheckpointRequest{Checkpoints: cps})
		}
		if len(cps) < maxLeaseCheckpointBatchSize {
			return
		}
	}
}
func (le *lessor) checkpointScheduledLeases() {
	var cps []*pb.LeaseCheckpoint

	// rate limit
	for i := 0; i < leaseCheckpointRate/2; i++ {
		le.mu.Lock()
		if le.isPrimary() {
			cps = le.findDueScheduledCheckpoints(maxLeaseCheckpointBatchSize)
		}
		le.mu.Unlock()

		if len(cps) != 0 {
			le.cp(context.Background(), &pb.LeaseCheckpointRequest{Checkpoints: cps})
		}
		if len(cps) < maxLeaseCheckpointBatchSize {
			return
		}
	}
}
func ( le * lessor ) checkpointScheduledLeases ( ) { var cps [ ] * pb . LeaseCheckpoint // rate limit for i := 0 ; i < leaseCheckpointRate / 2 ; i ++ { le . mu . Lock ( ) if le . isPrimary ( ) { cps = le . findDueScheduledCheckpoints ( maxLeaseCheckpointBatchSize ) } le . mu . Unlock ( ) if len ( cps ) != 0 { le . cp ( context . Background ( ) , & pb . LeaseCheckpointRequest { Checkpoints : cps } ) } if len ( cps ) < maxLeaseCheckpointBatchSize { return } } }
// checkpointScheduledLeases finds all scheduled lease checkpoints that are due and
// submits them to the checkpointer to persist them to the consensus log.
checkpointScheduledLeases finds all scheduled lease checkpoints that are due and submits them to the checkpointer to persist them to the consensus log .