code: func (is *InfoSyncer) newSessionAndStoreServerInfo(ctx context.Context, retryCnt int) error {
  	if is.etcdCli == nil {
  		return nil
  	}
  	logPrefix := fmt.Sprintf("[Info-syncer] %s", is.serverInfoPath)
  	session, err := owner.NewSession(ctx, logPrefix, is.etcdCli, retryCnt, InfoSessionTTL)
  	if err != nil {
  		return err
  	}
  	is.session = session
  
  	err = is.storeServerInfo(ctx)
  	return err
  }
docs: // newSessionAndStoreServerInfo creates a new etcd session and stores server info to etcd.