code: func (s *schemaVersionSyncer) WatchGlobalSchemaVer(ctx context.Context) {
  	startTime := time.Now()
  	// Make sure the globalVerCh doesn't receive the information of 'close' before we finish the rewatch.
  	s.mu.Lock()
  	s.mu.globalVerCh = nil
  	s.mu.Unlock()
  
  	go func() {
  		defer func() {
  			metrics.DeploySyncerHistogram.WithLabelValues(metrics.SyncerRewatch, metrics.RetLabel(nil)).Observe(time.Since(startTime).Seconds())
  		}()
  		ch := s.etcdCli.Watch(ctx, DDLGlobalSchemaVersion)
  
  		s.mu.Lock()
  		s.mu.globalVerCh = ch
  		s.mu.Unlock()
  		logutil.Logger(ddlLogCtx).Info("[ddl] syncer watch global schema finished")
  	}()
  }
docs: // WatchGlobalSchemaVer implements SchemaSyncer.WatchGlobalSchemaVer interface.