You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by GitBox <gi...@apache.org> on 2020/11/28 01:48:46 UTC

[GitHub] [servicecomb-service-center] tianxiaoliang commented on a change in pull request #757: Incremental synchronization of sc: sync between sc syncers

tianxiaoliang commented on a change in pull request #757:
URL: https://github.com/apache/servicecomb-service-center/pull/757#discussion_r531820359



##########
File path: syncer/server/handler.go
##########
@@ -45,9 +50,78 @@ func (s *Server) tickHandler() {
 	s.servicecenter.FlushData()
 
 	// sends a UserEvent on Serf, the event will be broadcast between members
-	err := s.serf.UserEvent(EventDiscovered, util.StringToBytesWithNoCopy(s.conf.Cluster))
-	if err != nil {
-		log.Errorf(err, "Syncer send user event failed")
+	s.httpserver.Mux.Lock()
+	defer s.httpserver.Mux.Unlock()
+	if s.httpserver.Triggered {
+		err := s.serf.UserEvent(EventNotifyFullPulled, util.StringToBytesWithNoCopy(""))
+		s.httpserver.Triggered = false
+		if err != nil {
+			log.Errorf(err, "Syncer send notifyFullPulled user event failed")
+		}
+		err = alarm.Clear(alarm.IDIncrementPullError)
+		if err != nil {
+			log.Error("", err)
+		}
+	} else {
+		err := s.serf.UserEvent(EventIncrementPulled, util.StringToBytesWithNoCopy(s.conf.Cluster))
+		if err != nil {
+			log.Errorf(err, "Syncer send incrementPulled user event failed")
+		}
+	}
+}
+
+func (s *Server) DataRemoveTickHandler() chan bool {
+	ticker := time.NewTicker(time.Second * 30)
+	stopChan := make(chan bool)
+	go func(trick *time.Ticker) {
+		//defer ticker.Stop()
+		for {
+			select {
+			case <-ticker.C:
+				s.eventQueueDataRemoveTickHandler()
+				log.Infof("size of records map = %d, size of events slice = %d", len(s.revisionMap), len(s.eventQueue))
+			case stop := <-stopChan:
+				if stop {
+					fmt.Print("ready stop")

Review comment:
       应该用日志工具,看看别的地方还有没有,都改了




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org