Commit e19b3ca2 authored by Adrian Sutton's avatar Adrian Sutton Committed by GitHub

op-conductor: Fix deadlock in shutdown (#10728)

* op-conductor: Fix deadlock in shutdown

* op-e2e: Unskip test

* Return early

* Remove unnecessary for loop
parent f0977b5c
...@@ -117,7 +117,13 @@ func (hm *SequencerHealthMonitor) loop() { ...@@ -117,7 +117,13 @@ func (hm *SequencerHealthMonitor) loop() {
case <-ticker.C: case <-ticker.C:
err := hm.healthCheck() err := hm.healthCheck()
hm.metrics.RecordHealthCheck(err == nil, err) hm.metrics.RecordHealthCheck(err == nil, err)
hm.healthUpdateCh <- err // Ensure that we exit cleanly if told to shutdown while still waiting to publish the health update
select {
case hm.healthUpdateCh <- err:
continue
case <-hm.done:
return
}
} }
} }
} }
......
...@@ -148,7 +148,6 @@ func TestSequencerFailover_ConductorRPC(t *testing.T) { ...@@ -148,7 +148,6 @@ func TestSequencerFailover_ConductorRPC(t *testing.T) {
// [Category: Sequencer Failover] // [Category: Sequencer Failover]
// Test that the sequencer can successfully failover to a new sequencer once the active sequencer goes down. // Test that the sequencer can successfully failover to a new sequencer once the active sequencer goes down.
func TestSequencerFailover_ActiveSequencerDown(t *testing.T) { func TestSequencerFailover_ActiveSequencerDown(t *testing.T) {
t.Skip("Triggers a deadlock in shutdown")
sys, conductors, cleanup := setupSequencerFailoverTest(t) sys, conductors, cleanup := setupSequencerFailoverTest(t)
defer cleanup() defer cleanup()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment