From fd698d8485a4b5622ecd417390428715f9ccf1be Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Sat, 19 Apr 2025 20:04:44 -0700 Subject: [PATCH] Fix no error with duplicate connector name Signed-off-by: Bryan Frimin --- pkg/connector/registry.go | 6 +++++- pkg/probod/probod.go | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/connector/registry.go b/pkg/connector/registry.go index 28b6982ef..3f82487b8 100644 --- a/pkg/connector/registry.go +++ b/pkg/connector/registry.go @@ -34,10 +34,14 @@ func NewConnectorRegistry() *ConnectorRegistry { } } -func (cr *ConnectorRegistry) Register(connectorID string, connector Connector) { +func (cr *ConnectorRegistry) Register(connectorID string, connector Connector) error { cr.Lock() defer cr.Unlock() + if _, ok := cr.connectors[connectorID]; ok { + return fmt.Errorf("connector %q already registered", connectorID) + } cr.connectors[connectorID] = connector + return nil } func (cr *ConnectorRegistry) Get(connectorID string) (Connector, error) { diff --git a/pkg/probod/probod.go b/pkg/probod/probod.go index c47a89dee..1507fc44d 100644 --- a/pkg/probod/probod.go +++ b/pkg/probod/probod.go @@ -178,7 +178,9 @@ func (impl *Implm) Run( defaultConnectorRegistry := connector.NewConnectorRegistry() for _, connector := range impl.cfg.Connectors { - defaultConnectorRegistry.Register(connector.Name, connector.Config) + if err := defaultConnectorRegistry.Register(connector.Name, connector.Config); err != nil { + return fmt.Errorf("cannot register connector: %w", err) + } } usrmgrService, err := usrmgr.NewService(