Skip to content

Commit de168b1

Browse files
authored
Add log for ungraceful shutdown on startup (#2215)
Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com>
1 parent cd77a1e commit de168b1

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

node/node.go

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,9 @@ import (
8989
)
9090

9191
var (
92-
genesisHashKey = []byte("genesisID")
92+
genesisHashKey = []byte("genesisID")
93+
ungracefulShutdown = []byte("ungracefulShutdown")
94+
9395
indexerDBPrefix = []byte{0x00}
9496

9597
errInvalidTLSKey = errors.New("invalid TLS key")
@@ -556,6 +558,23 @@ func (n *Node) initDatabase() error {
556558
if genesisHash != expectedGenesisHash {
557559
return fmt.Errorf("db contains invalid genesis hash. DB Genesis: %s Generated Genesis: %s", genesisHash, expectedGenesisHash)
558560
}
561+
562+
ok, err := n.DB.Has(ungracefulShutdown)
563+
if err != nil {
564+
return fmt.Errorf("failed to read ungraceful shutdown key: %w", err)
565+
}
566+
567+
if ok {
568+
n.Log.Warn("detected previous ungraceful shutdown")
569+
}
570+
571+
if err := n.DB.Put(ungracefulShutdown, nil); err != nil {
572+
return fmt.Errorf(
573+
"failed to write ungraceful shutdown key at: %w",
574+
err,
575+
)
576+
}
577+
559578
return nil
560579
}
561580

@@ -1530,6 +1549,13 @@ func (n *Node) shutdown() {
15301549
n.runtimeManager.Stop(context.TODO())
15311550

15321551
if n.DBManager != nil {
1552+
if err := n.DB.Delete(ungracefulShutdown); err != nil {
1553+
n.Log.Error(
1554+
"failed to delete ungraceful shutdown key",
1555+
zap.Error(err),
1556+
)
1557+
}
1558+
15331559
if err := n.DBManager.Close(); err != nil {
15341560
n.Log.Warn("error during DB shutdown",
15351561
zap.Error(err),

0 commit comments

Comments
 (0)