code: func NewGCWorker(store tikv.Storage, pdClient pd.Client) (tikv.GCHandler, error) {
  	ver, err := store.CurrentVersion()
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  	hostName, err := os.Hostname()
  	if err != nil {
  		hostName = "unknown"
  	}
  	worker := &GCWorker{
  		uuid:        strconv.FormatUint(ver.Ver, 16),
  		desc:        fmt.Sprintf("host:%s, pid:%d, start at %s", hostName, os.Getpid(), time.Now()),
  		store:       store,
  		pdClient:    pdClient,
  		gcIsRunning: false,
  		lastFinish:  time.Now(),
  		done:        make(chan error),
  	}
  	return worker, nil
  }
docs: // NewGCWorker creates a GCWorker instance.