stageing network takedown to avoid leveldb panics (#347)

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
This commit is contained in:
Jürgen Eckel 2024-03-11 15:30:39 +01:00 committed by GitHub
parent 06e60809ca
commit 588a21f76e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -749,13 +749,9 @@ func (n *Network) Cleanup() {
}()
n.Logger.Log("cleaning up test network...")
n.Logger.Log("Stage 1 APIs...")
for i := len(n.Validators) - 1; i >= 0; i-- {
v := n.Validators[i]
if v.tmNode != nil && v.tmNode.IsRunning() {
_ = v.tmNode.Stop()
}
if v.api != nil {
_ = v.api.Close()
}
@ -767,6 +763,15 @@ func (n *Network) Cleanup() {
}
}
}
n.Logger.Log("Stage 2 CometBFT...")
for i := len(n.Validators) - 1; i >= 0; i-- {
v := n.Validators[i]
if v.tmNode != nil && v.tmNode.IsRunning() {
_ = v.tmNode.Stop()
}
}
n.Logger.Log("Stage 3 Application Threads...")
// waiting for all threads to be terminated
util.TerminationWaitGroup.Wait()
@ -774,6 +779,7 @@ func (n *Network) Cleanup() {
// 100ms chosen randomly.
time.Sleep(100 * time.Millisecond)
n.Logger.Log("Stage 4 Files...")
if n.Config.CleanupDir {
_ = os.RemoveAll(n.BaseDir)
}