Skip to content

Commit a4c82dc

Browse files
add logging when event subscription fails
1 parent e41c818 commit a4c82dc

File tree

4 files changed

+20
-15
lines changed

4 files changed

+20
-15
lines changed

rolling-shutter/medley/chainsync/syncer/eonpubkey.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,12 @@ func (s *EonPubKeySyncer) Start(ctx context.Context, runner service.Runner) erro
5757
}
5858
s.keyBroadcastCh = make(chan *bindings.KeyBroadcastContractEonKeyBroadcast, channelSize)
5959
subs, err := s.KeyBroadcast.WatchEonKeyBroadcast(watchOpts, s.keyBroadcastCh)
60-
// FIXME: what to do on subs.Error()
6160
if err != nil {
6261
return err
6362
}
6463
runner.Defer(subs.Unsubscribe)
6564
runner.Go(func() error {
66-
return s.watchNewEonPubkey(ctx)
65+
return s.watchNewEonPubkey(ctx, subs.Err())
6766
})
6867
return nil
6968
}
@@ -127,7 +126,7 @@ func (s *EonPubKeySyncer) GetEonPubKeyForEon(ctx context.Context, opts *bind.Cal
127126
}, nil
128127
}
129128

130-
func (s *EonPubKeySyncer) watchNewEonPubkey(ctx context.Context) error {
129+
func (s *EonPubKeySyncer) watchNewEonPubkey(ctx context.Context, subsErr <-chan error) error {
131130
for {
132131
select {
133132
case newEonKey, ok := <-s.keyBroadcastCh:
@@ -148,6 +147,8 @@ func (s *EonPubKeySyncer) watchNewEonPubkey(ctx context.Context) error {
148147
err.Error(),
149148
)
150149
}
150+
case err := <-subsErr:
151+
s.Log.Error("subscription error for watchNewEonPubkey", err.Error())
151152
case <-ctx.Done():
152153
return ctx.Err()
153154
}

rolling-shutter/medley/chainsync/syncer/keyperset.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,12 @@ func (s *KeyperSetSyncer) Start(ctx context.Context, runner service.Runner) erro
6767
}
6868
s.keyperAddedCh = make(chan *bindings.KeyperSetManagerKeyperSetAdded, channelSize)
6969
subs, err := s.Contract.WatchKeyperSetAdded(watchOpts, s.keyperAddedCh)
70-
// FIXME: what to do on subs.Error()
7170
if err != nil {
7271
return err
7372
}
7473
runner.Defer(subs.Unsubscribe)
7574
runner.Go(func() error {
76-
return s.watchNewKeypersService(ctx)
75+
return s.watchNewKeypersService(ctx, subs.Err())
7776
})
7877
return nil
7978
}
@@ -205,7 +204,7 @@ func (s *KeyperSetSyncer) newEvent(
205204
}, nil
206205
}
207206

208-
func (s *KeyperSetSyncer) watchNewKeypersService(ctx context.Context) error {
207+
func (s *KeyperSetSyncer) watchNewKeypersService(ctx context.Context, subsErr <-chan error) error {
209208
for {
210209
select {
211210
case newKeypers, ok := <-s.keyperAddedCh:
@@ -235,6 +234,8 @@ func (s *KeyperSetSyncer) watchNewKeypersService(ctx context.Context) error {
235234
err.Error(),
236235
)
237236
}
237+
case err := <-subsErr:
238+
s.Log.Error("subscription error for watchNewKeypersService", err.Error())
238239
case <-ctx.Done():
239240
return ctx.Err()
240241
}

rolling-shutter/medley/chainsync/syncer/shutterstate.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,22 +50,20 @@ func (s *ShutterStateSyncer) Start(ctx context.Context, runner service.Runner) e
5050
}
5151
s.pausedCh = make(chan *bindings.KeyperSetManagerPaused)
5252
subs, err := s.Contract.WatchPaused(watchOpts, s.pausedCh)
53-
// FIXME: what to do on subs.Error()
5453
if err != nil {
5554
return err
5655
}
5756
runner.Defer(subs.Unsubscribe)
5857

5958
s.unpausedCh = make(chan *bindings.KeyperSetManagerUnpaused)
60-
subs, err = s.Contract.WatchUnpaused(watchOpts, s.unpausedCh)
61-
// FIXME: what to do on subs.Error()
59+
subsUnpaused, err := s.Contract.WatchUnpaused(watchOpts, s.unpausedCh)
6260
if err != nil {
6361
return err
6462
}
65-
runner.Defer(subs.Unsubscribe)
63+
runner.Defer(subsUnpaused.Unsubscribe)
6664

6765
runner.Go(func() error {
68-
return s.watchPaused(ctx)
66+
return s.watchPaused(ctx, subs.Err(), subsUnpaused.Err())
6967
})
7068
return nil
7169
}
@@ -89,7 +87,7 @@ func (s *ShutterStateSyncer) handle(ctx context.Context, ev *event.ShutterState)
8987
}
9088
}
9189

92-
func (s *ShutterStateSyncer) watchPaused(ctx context.Context) error {
90+
func (s *ShutterStateSyncer) watchPaused(ctx context.Context, subsErr <-chan error, subsErrUnpaused <-chan error) error {
9391
isActive, err := s.pollIsActive(ctx)
9492
if err != nil {
9593
// XXX: this will fail everything, do we want that?
@@ -125,6 +123,10 @@ func (s *ShutterStateSyncer) watchPaused(ctx context.Context) error {
125123
}
126124
isActive = ev.Active
127125
s.handle(ctx, ev)
126+
case err := <-subsErr:
127+
s.Log.Error("subscription error for watchPaused", err.Error())
128+
case err := <-subsErrUnpaused:
129+
s.Log.Error("subscription error for watchUnpaused", err.Error())
128130
case <-ctx.Done():
129131
return ctx.Err()
130132
}

rolling-shutter/medley/chainsync/syncer/unsafehead.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,17 @@ func (s *UnsafeHeadSyncer) Start(ctx context.Context, runner service.Runner) err
2828
s.newLatestHeadCh = make(chan *types.Header, 1)
2929

3030
subs, err := s.Client.SubscribeNewHead(ctx, s.newLatestHeadCh)
31-
// FIXME: what to do on subs.Error()
3231
if err != nil {
3332
return err
3433
}
3534
runner.Defer(subs.Unsubscribe)
3635
runner.Go(func() error {
37-
return s.watchLatestUnsafeHead(ctx)
36+
return s.watchLatestUnsafeHead(ctx, subs.Err())
3837
})
3938
return nil
4039
}
4140

42-
func (s *UnsafeHeadSyncer) watchLatestUnsafeHead(ctx context.Context) error {
41+
func (s *UnsafeHeadSyncer) watchLatestUnsafeHead(ctx context.Context, subsErr <-chan error) error {
4342
for {
4443
select {
4544
case newHeader, ok := <-s.newLatestHeadCh:
@@ -59,6 +58,8 @@ func (s *UnsafeHeadSyncer) watchLatestUnsafeHead(ctx context.Context) error {
5958
err.Error(),
6059
)
6160
}
61+
case err := <-subsErr:
62+
s.Log.Error("subscription error for watchLatestUnsafeHead", err.Error())
6263
case <-ctx.Done():
6364
return ctx.Err()
6465
}

0 commit comments

Comments
 (0)