Skip to content

Commit 70be4c0

Browse files
committed
Apply review feedback
- Remove outdated comment - Improve error handling when setting default Options - Replace deprecated sink recording function - log errors from StartEventWatcher Signed-off-by: Borja Clemente <[email protected]>
1 parent c0481cb commit 70be4c0

File tree

4 files changed

+15
-12
lines changed

4 files changed

+15
-12
lines changed

pkg/cluster/cluster.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package cluster
1919
import (
2020
"context"
2121
"errors"
22+
"fmt"
2223
"net/http"
2324

2425
"github.com/go-logr/logr"
@@ -162,8 +163,7 @@ func New(config *rest.Config, opts ...Option) (Cluster, error) {
162163
}
163164
options, err := setOptionsDefaults(options, config)
164165
if err != nil {
165-
options.Logger.Error(err, "Failed to set defaults")
166-
return nil, err
166+
return nil, fmt.Errorf("failed setting cluster default options: %w", err)
167167
}
168168

169169
// Create the mapper provider

pkg/internal/recorder/recorder.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ type Provider struct {
5151
evtClient corev1client.EventInterface
5252
makeBroadcaster EventBroadcasterProducer
5353

54-
broadcasterOnce sync.Once
55-
broadcaster events.EventBroadcaster
56-
stopCh chan struct{}
54+
broadcasterOnce sync.Once
55+
broadcaster events.EventBroadcaster
56+
cancelSinkRecordingFunc context.CancelFunc
5757
// Deprecated: will be removed in a future release. Use the broadcaster above instead.
5858
deprecatedBroadcaster record.EventBroadcaster
5959
stopBroadcaster bool
@@ -81,7 +81,7 @@ func (p *Provider) Stop(shutdownCtx context.Context) {
8181
if p.stopBroadcaster {
8282
p.lock.Lock()
8383
broadcaster.Shutdown()
84-
close(p.stopCh)
84+
p.cancelSinkRecordingFunc()
8585
deprecatedBroadcaster.Shutdown()
8686
p.stopped = true
8787
p.lock.Unlock()
@@ -115,14 +115,18 @@ func (p *Provider) getBroadcaster() (record.EventBroadcaster, events.EventBroadc
115115
})
116116

117117
// init new broadcaster
118-
p.stopCh = make(chan struct{})
119-
p.broadcaster.StartRecordingToSink(p.stopCh)
120-
_, _ = p.broadcaster.StartEventWatcher(func(event runtime.Object) {
118+
ctx, cancel := context.WithCancel(context.Background())
119+
p.cancelSinkRecordingFunc = cancel
120+
p.broadcaster.StartRecordingToSinkWithContext(ctx)
121+
_, err := p.broadcaster.StartEventWatcher(func(event runtime.Object) {
121122
e, isEvt := event.(*eventsv1.Event)
122123
if isEvt {
123124
p.logger.V(1).Info(e.Note, "type", e.Type, "object", e.Related, "action", e.Action, "reason", e.Reason)
124125
}
125126
})
127+
if err != nil {
128+
p.logger.Error(err, "error starting event watcher for broadcaster")
129+
}
126130
})
127131

128132
return p.deprecatedBroadcaster, p.broadcaster
@@ -190,6 +194,7 @@ func (l *lazyRecorder) Eventf(regarding runtime.Object, related runtime.Object,
190194
}
191195

192196
// deprecatedRecorder implements the old events API during the tranisiton and will be removed in a future release.
197+
//
193198
// Deprecated: will be removed in a future release.
194199
type deprecatedRecorder struct {
195200
prov *Provider

pkg/manager/manager.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,8 +341,7 @@ func New(config *rest.Config, options Options) (Manager, error) {
341341
// Set default values for options fields
342342
options, err := setOptionsDefaults(config, options)
343343
if err != nil {
344-
options.Logger.Error(err, "Failed to set defaults")
345-
return nil, err
344+
return nil, fmt.Errorf("failed setting manager default options: %w", err)
346345
}
347346

348347
cluster, err := cluster.New(config, func(clusterOptions *cluster.Options) {

pkg/recorder/recorder.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,5 @@ type Provider interface {
3232
// Deprecated: this uses the old events API and will be removed in a future release. Please use GetEventRecorder instead.
3333
GetEventRecorderFor(name string) record.EventRecorder
3434
// GetEventRecorder returns a EventRecorder with given name.
35-
// The old API is not 100% supported anymore, use the new one whenever possible.
3635
GetEventRecorder(name string) events.EventRecorder
3736
}

0 commit comments

Comments
 (0)