Skip to content

Commit 4762cab

Browse files
fix e2e tests: backoff after sending error event
Signed-off-by: Alexandra Oberaigner <[email protected]>
1 parent a2ecb51 commit 4762cab

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

providers/flagd/e2e/inprocess_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
package e2e
44

55
import (
6-
flagd "github.com/open-feature/go-sdk-contrib/providers/flagd/pkg"
76
"testing"
87

8+
flagd "github.com/open-feature/go-sdk-contrib/providers/flagd/pkg"
9+
910
"github.com/open-feature/go-sdk-contrib/tests/flagd/testframework"
1011
)
1112

@@ -19,7 +20,7 @@ func TestInProcessProviderE2E(t *testing.T) {
1920
ResolverType: testframework.InProcess,
2021
TestbedConfig: "default",
2122
ExtraOptions: []flagd.ProviderOption{
22-
flagd.WithRetryBackoffMaxMs(5000),
23+
flagd.WithRetryBackoffMaxMs(3000),
2324
},
2425
})
2526
defer runner.Cleanup()

providers/flagd/pkg/service/in_process/grpc_sync.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package process
22

33
import (
4-
"buf.build/gen/go/open-feature/flagd/grpc/go/flagd/sync/v1/syncv1grpc"
5-
v1 "buf.build/gen/go/open-feature/flagd/protocolbuffers/go/flagd/sync/v1"
64
"context"
75
"fmt"
6+
msync "sync"
7+
"time"
8+
9+
"buf.build/gen/go/open-feature/flagd/grpc/go/flagd/sync/v1/syncv1grpc"
10+
v1 "buf.build/gen/go/open-feature/flagd/protocolbuffers/go/flagd/sync/v1"
811
"github.com/open-feature/flagd/core/pkg/logger"
912
"github.com/open-feature/flagd/core/pkg/sync"
1013
grpccredential "github.com/open-feature/flagd/core/pkg/sync/grpc/credentials"
@@ -13,8 +16,6 @@ import (
1316
"google.golang.org/grpc/connectivity"
1417
"google.golang.org/grpc/keepalive"
1518
"google.golang.org/grpc/status"
16-
msync "sync"
17-
"time"
1819
)
1920

2021
// FlagSyncServiceClient Type aliases for interfaces required by this component - needed for mock generation with gomock
@@ -193,16 +194,15 @@ func (g *Sync) Sync(ctx context.Context, dataSync chan<- sync.DataSync) error {
193194
}
194195
}
195196
}
196-
197-
// Backoff before retrying
198-
time.Sleep(time.Duration(g.RetryBackOffMaxMs) * time.Millisecond)
199-
200-
g.Logger.Warn(fmt.Sprintf("sync cycle failed: %v, retrying...", err))
201197
g.sendEvent(ctx, SyncEvent{event: of.ProviderError})
202198

203199
if ctx.Err() != nil {
204200
return ctx.Err()
205201
}
202+
203+
// Backoff before retrying
204+
g.Logger.Warn(fmt.Sprintf("sync cycle failed: %v, retrying after %d backoff...", err, g.RetryBackOffMaxMs))
205+
time.Sleep(time.Duration(g.RetryBackOffMaxMs) * time.Millisecond)
206206
}
207207
}
208208
}

providers/flagd/pkg/service/in_process/service.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,8 @@ func createSyncProvider(cfg Configuration, log *logger.Logger) (isync.ISync, str
573573
Selector: cfg.Selector,
574574
URI: uri,
575575
FatalStatusCodes: cfg.FatalStatusCodes,
576+
RetryBackOffMaxMs: cfg.RetryBackOffMaxMs,
577+
RetryBackOffMs: cfg.RetryBackOffMs,
576578
}, uri
577579
}
578580

0 commit comments

Comments
 (0)