Skip to content

Commit c7952fe

Browse files
committed
Start rpc server before p2p sync
1 parent 780dd6a commit c7952fe

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

node/failover.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,22 @@ func (f *failoverState) Run(pCtx context.Context) (multiErr error) {
173173
multiErr = errors.Join(multiErr, fmt.Errorf("stopping %s: %w", name, err))
174174
}
175175
}
176+
cCtx, cancel := context.WithCancel(pCtx)
177+
defer cancel()
178+
wg, ctx := errgroup.WithContext(cCtx)
179+
wg.Go(func() (rerr error) {
180+
defer func() {
181+
if err := f.bc.Stop(); err != nil && !errors.Is(err, context.Canceled) {
182+
rerr = errors.Join(rerr, fmt.Errorf("stopping block components: %w", err))
183+
}
184+
}()
176185

177-
wg, ctx := errgroup.WithContext(pCtx)
186+
f.logger.Info().Str("addr", f.rpcServer.Addr).Msg("Started RPC server")
187+
if err := f.rpcServer.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) {
188+
return err
189+
}
190+
return nil
191+
})
178192

179193
if err := f.p2pClient.Start(ctx); err != nil {
180194
return fmt.Errorf("start p2p: %w", err)
@@ -191,20 +205,6 @@ func (f *failoverState) Run(pCtx context.Context) (multiErr error) {
191205
}
192206
defer stopService(f.dataSyncService.Stop, "data sync")
193207

194-
wg.Go(func() (rerr error) {
195-
defer func() {
196-
if err := f.bc.Stop(); err != nil && !errors.Is(err, context.Canceled) {
197-
rerr = errors.Join(rerr, fmt.Errorf("stopping block components: %w", err))
198-
}
199-
}()
200-
201-
f.logger.Info().Str("addr", f.rpcServer.Addr).Msg("Started RPC server")
202-
if err := f.rpcServer.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) {
203-
return err
204-
}
205-
return nil
206-
})
207-
208208
wg.Go(func() error {
209209
defer func() {
210210
shutdownCtx, done := context.WithTimeout(context.Background(), 3*time.Second)

0 commit comments

Comments
 (0)