浏览代码

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():