Преглед на файлове

fix(node-record): concurrent map read and write

Jacky преди 1 ден
родител
ревизия
c4b8b8f088
променени са 1 файла, в които са добавени 2 реда и са изтрити 2 реда
  1. 2 2
      internal/analytic/node_record.go

+ 2 - 2
internal/analytic/node_record.go

@@ -129,11 +129,11 @@ func RetrieveNodesStatus(ctx context.Context) {
 				default:
 					if err := nodeAnalyticRecord(e, ctx); err != nil {
 						logger.Error(err)
+						mutex.Lock()
 						if NodeMap[env.ID] != nil {
-							mutex.Lock()
 							NodeMap[env.ID].Status = false
-							mutex.Unlock()
 						}
+						mutex.Unlock()
 						select {
 						case <-retryTicker.C:
 						case <-ctx.Done():