Skip to content

Commit 9656dc1

Browse files
authored
Merge pull request #7771 from onflow/codex/fix-issue-7765-in-flow-go
[Admin] Fix hang during admin server shutdown
2 parents 3e1eef9 + 4c23ff1 commit 9656dc1

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

admin/command_runner.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,16 @@ func (r *CommandRunner) runAdminServer(ctx irrecoverable.SignalerContext) error
284284
defer shutdownCancel()
285285

286286
if err := httpServer.Shutdown(shutdownCtx); err != nil {
287-
r.logger.Err(err).Msg("failed to shutdown http server")
288-
ctx.Throw(err)
287+
if errors.Is(err, context.DeadlineExceeded) {
288+
r.logger.Warn().Err(err).Msg("failed to shutdown http server gracefully; forcing close")
289+
if closeErr := httpServer.Close(); closeErr != nil {
290+
r.logger.Err(closeErr).Msg("failed to force close http server")
291+
ctx.Throw(closeErr)
292+
}
293+
} else {
294+
r.logger.Err(err).Msg("failed to shutdown http server")
295+
ctx.Throw(err)
296+
}
289297
}
290298
}
291299
}()

0 commit comments

Comments
 (0)