From 5d20e30062893b5c302bbade2c76ed1de5c9dd7b Mon Sep 17 00:00:00 2001 From: ashmrtn Date: Thu, 19 Jan 2023 21:55:11 -0800 Subject: [PATCH] Record graph error (#2195) ## Description Record information about the error Graph returned if something went wrong when fetching an item. ## Does this PR need a docs update or release note? - [ ] :white_check_mark: Yes, it's included - [ ] :clock1: Yes, but in a later PR - [x] :no_entry: No ## Type of change - [ ] :sunflower: Feature - [x] :bug: Bugfix - [ ] :world_map: Documentation - [ ] :robot: Test - [ ] :computer: CI/Deployment - [x] :broom: Tech Debt/Cleanup ## Issue(s) * closes #2194 ## Test Plan - [x] :muscle: Manual - [ ] :zap: Unit test - [ ] :green_heart: E2E --- .../exchange/exchange_data_collection.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/internal/connector/exchange/exchange_data_collection.go b/src/internal/connector/exchange/exchange_data_collection.go index 0d4d53c04..e168ed082 100644 --- a/src/internal/connector/exchange/exchange_data_collection.go +++ b/src/internal/connector/exchange/exchange_data_collection.go @@ -198,14 +198,6 @@ func (col *Collection) streamItems(ctx context.Context) { semaphoreCh := make(chan struct{}, urlPrefetchChannelBufferSize) defer close(semaphoreCh) - updaterMu := sync.Mutex{} - errUpdater := func(user string, err error) { - updaterMu.Lock() - defer updaterMu.Unlock() - - errs = support.WrapAndAppend(user, err, errs) - } - // delete all removed items for id := range col.removed { semaphoreCh <- struct{}{} @@ -231,6 +223,14 @@ func (col *Collection) streamItems(ctx context.Context) { }(id) } + updaterMu := sync.Mutex{} + errUpdater := func(user string, err error) { + updaterMu.Lock() + defer updaterMu.Unlock() + + errs = support.WrapAndAppend(user, err, errs) + } + // add any new items for id := range col.added { if col.ctrl.FailFast && errs != nil { @@ -273,7 +273,7 @@ func (col *Collection) streamItems(ctx context.Context) { return } - errUpdater(user, err) + errUpdater(user, support.ConnectorStackErrorTraceWrap(err, "fetching item")) return }