Selaa lähdekoodia

fix(rule): rule hang while restarting if the plugin was deleted previously

Signed-off-by: Jiyong Huang <huangjy@emqx.io>
Jiyong Huang 2 vuotta sitten
vanhempi
commit
61c6c50344
1 muutettua tiedostoa jossa 1 lisäystä ja 2 poistoa
  1. 1 2
      internal/topo/rule/ruleState.go

+ 1 - 2
internal/topo/rule/ruleState.go

@@ -66,11 +66,11 @@ func NewRuleState(rule *api.Rule) (*RuleState, error) {
 		Rule:     rule,
 		ActionCh: make(chan ActionSignal),
 	}
+	rs.Run()
 	if tp, err := planner.Plan(rule); err != nil {
 		return rs, err
 	} else {
 		rs.Topology = tp
-		rs.Run()
 		return rs, nil
 	}
 }
@@ -203,7 +203,6 @@ func (rs *RuleState) runTopo(ctx context.Context) {
 		if rs.Topology != nil {
 			rs.topoGraph = rs.Topology.GetTopo()
 		}
-		rs.Topology = nil
 		rs.Unlock()
 	}
 }