-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: support emitting errors from the bulk evaluator #1338
feat!: support emitting errors from the bulk evaluator #1338
Conversation
✅ Deploy Preview for polite-licorice-3db33c canceled.
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1338 +/- ##
==========================================
+ Coverage 73.69% 78.26% +4.57%
==========================================
Files 32 36 +4
Lines 3140 2830 -310
==========================================
- Hits 2314 2215 -99
+ Misses 717 476 -241
- Partials 109 139 +30 ☔ View full report in Codecov by Sentry. |
c53b1e4
to
8d783fd
Compare
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
8d783fd
to
a43882c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes perfect sense to me!
🤖 I have created a release *beep* *boop* --- <details><summary>flagd: 0.11.0</summary> ## [0.11.0](flagd/v0.10.3...flagd/v0.11.0) (2024-06-27) ### ⚠ BREAKING CHANGES * support emitting errors from the bulk evaluator ([#1338](#1338)) ### 🐛 Bug Fixes * **deps:** update module buf.build/gen/go/open-feature/flagd/connectrpc/go to v1.16.2-20240215170432-1e611e2999cc.1 ([#1293](#1293)) ([2694e7f](2694e7f)) * **deps:** update module buf.build/gen/go/open-feature/flagd/grpc/go to v1.4.0-20240215170432-1e611e2999cc.1 ([#1333](#1333)) ([494062f](494062f)) * **deps:** update module buf.build/gen/go/open-feature/flagd/protocolbuffers/go to v1.34.2-20240215170432-1e611e2999cc.2 ([#1330](#1330)) ([32291ad](32291ad)) * **deps:** update module github.com/open-feature/flagd/core to v0.9.3 ([#1296](#1296)) ([1f7b8bd](1f7b8bd)) * **deps:** update module github.com/rs/cors to v1.11.0 ([#1299](#1299)) ([5f77541](5f77541)) * **deps:** update module github.com/spf13/cobra to v1.8.1 ([#1332](#1332)) ([c62bcb0](c62bcb0)) * **deps:** update module github.com/spf13/viper to v1.19.0 ([#1334](#1334)) ([1097b99](1097b99)) * **deps:** update module golang.org/x/net to v0.26.0 ([#1337](#1337)) ([83bdbb5](83bdbb5)) * **deps:** update opentelemetry-go monorepo ([#1314](#1314)) ([e9f1a7a](e9f1a7a)) * readable error messages ([#1325](#1325)) ([7ff33ef](7ff33ef)) ### ✨ New Features * support `FLAGD_DEBUG` / `--debug` / `-x` ([#1326](#1326)) ([298bd36](298bd36)) * support emitting errors from the bulk evaluator ([#1338](#1338)) ([b9c099c](b9c099c)) </details> <details><summary>flagd-proxy: 0.6.3</summary> ## [0.6.3](flagd-proxy/v0.6.2...flagd-proxy/v0.6.3) (2024-06-27) ### 🐛 Bug Fixes * **deps:** update module buf.build/gen/go/open-feature/flagd/grpc/go to v1.4.0-20240215170432-1e611e2999cc.1 ([#1333](#1333)) ([494062f](494062f)) * **deps:** update module buf.build/gen/go/open-feature/flagd/protocolbuffers/go to v1.34.2-20240215170432-1e611e2999cc.2 ([#1330](#1330)) ([32291ad](32291ad)) * **deps:** update module github.com/open-feature/flagd/core to v0.9.3 ([#1296](#1296)) ([1f7b8bd](1f7b8bd)) * **deps:** update module github.com/spf13/cobra to v1.8.1 ([#1332](#1332)) ([c62bcb0](c62bcb0)) * **deps:** update module github.com/spf13/viper to v1.19.0 ([#1334](#1334)) ([1097b99](1097b99)) * **deps:** update module golang.org/x/net to v0.26.0 ([#1337](#1337)) ([83bdbb5](83bdbb5)) * **deps:** update opentelemetry-go monorepo ([#1314](#1314)) ([e9f1a7a](e9f1a7a)) </details> <details><summary>core: 0.10.0</summary> ## [0.10.0](core/v0.9.3...core/v0.10.0) (2024-06-27) ### ⚠ BREAKING CHANGES * support emitting errors from the bulk evaluator ([#1338](#1338)) ### 🐛 Bug Fixes * **deps:** update module buf.build/gen/go/open-feature/flagd/grpc/go to v1.4.0-20240215170432-1e611e2999cc.1 ([#1333](#1333)) ([494062f](494062f)) * **deps:** update module buf.build/gen/go/open-feature/flagd/protocolbuffers/go to v1.34.2-20240215170432-1e611e2999cc.2 ([#1330](#1330)) ([32291ad](32291ad)) * **deps:** update module connectrpc.com/connect to v1.16.2 ([#1289](#1289)) ([8bacb7c](8bacb7c)) * **deps:** update module github.com/open-feature/open-feature-operator/apis to v0.2.43 ([#1331](#1331)) ([fecd769](fecd769)) * **deps:** update module golang.org/x/crypto to v0.24.0 ([#1335](#1335)) ([2a31a17](2a31a17)) * **deps:** update module golang.org/x/mod to v0.18.0 ([#1336](#1336)) ([5fa83f7](5fa83f7)) * **deps:** update opentelemetry-go monorepo ([#1314](#1314)) ([e9f1a7a](e9f1a7a)) * readable error messages ([#1325](#1325)) ([7ff33ef](7ff33ef)) ### ✨ New Features * add mandatory flags property in bulk response ([#1339](#1339)) ([b20266e](b20266e)) * support emitting errors from the bulk evaluator ([#1338](#1338)) ([b9c099c](b9c099c)) * support relative weighting for fractional evaluation ([#1313](#1313)) ([f82c094](f82c094)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Fixes #1328
Improvement
flagd's core components are intended to be reused. This PR change the
IStore
interface by allowing an error to be returned fromGetAll
. This error is then propagated throughResolveAllValues
. This change enables customIStore
implementations to return errors and propagate them through the resolver layer.With this change, I have upgrade OFREP bulk evaluator and flagd RPC
ResolveAll
with error propagation.OFREP - Log warning with resolver error and return HTTP 500 with a tracking reference
RPC - Log warning with resolver error and return an error with a tracking reference