From e4b116b6516262c831f33ad4918d38dbd315f19a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaros=C5=82aw=20Pieszka?= Date: Mon, 10 Jun 2024 10:38:38 +0200 Subject: [PATCH] Handle partial events synchronization (#811) handle partial events sync corrected log messages --- internal/subaccountsync/cis_events.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/subaccountsync/cis_events.go b/internal/subaccountsync/cis_events.go index 9925908349..c51202aceb 100644 --- a/internal/subaccountsync/cis_events.go +++ b/internal/subaccountsync/cis_events.go @@ -34,7 +34,8 @@ func (c *RateLimitedCisClient) FetchEventsWindow(fromActionTime int64) ([]Event, cisResponse, err := c.fetchEventsPage(currentPage, fromActionTime) if err != nil { c.log.Error(fmt.Sprintf("while getting subaccount events for %d page: %v", currentPage, err)) - return nil, err + c.log.Debug(fmt.Sprintf("Event window fetched partially - pages: %d out of %d, events: %d, from epoch: %d", currentPage, cisResponse.TotalPages, len(events), fromActionTime)) + return events, err } events = append(events, cisResponse.Events...) currentPage++ @@ -42,7 +43,7 @@ func (c *RateLimitedCisClient) FetchEventsWindow(fromActionTime int64) ([]Event, break } } - c.log.Debug(fmt.Sprintf("Fetched event window - pages: %d, events: %d, from epoch: %d", currentPage, len(events), fromActionTime)) + c.log.Debug(fmt.Sprintf("Event window fetched - pages: %d, events: %d, from epoch: %d", currentPage, len(events), fromActionTime)) return events, nil } @@ -78,8 +79,8 @@ func (c *RateLimitedCisClient) fetchEventsPage(page int, fromActionTime int64) ( func (c *RateLimitedCisClient) getEventsForSubaccounts(fromActionTime int64, logs slog.Logger, subaccountsMap subaccountsSetType) ([]Event, error) { rawEvents, err := c.FetchEventsWindow(fromActionTime) - if err != nil { - logs.Error(fmt.Sprintf("while getting subaccount delete events: %s", err)) + if err != nil && len(rawEvents) == 0 { + logs.Error(fmt.Sprintf("while getting events: %s", err)) return nil, err } @@ -87,7 +88,7 @@ func (c *RateLimitedCisClient) getEventsForSubaccounts(fromActionTime int64, log filteredEventsFromCis := filterEvents(rawEvents, subaccountsMap) logs.Info(fmt.Sprintf("Raw events: %d, filtered: %d", len(rawEvents), len(filteredEventsFromCis))) - return filteredEventsFromCis, nil + return filteredEventsFromCis, err } func filterEvents(rawEvents []Event, subaccounts subaccountsSetType) []Event {