feat: add flag key to hash in fractional evaluation#847
feat: add flag key to hash in fractional evaluation#847toddbaert merged 8 commits intoopen-feature:mainfrom craigpastro:fractional-eval-improv-ii
Conversation
Signed-off-by: Craig Pastro <pastro.craig@gmail.com>
✅ Deploy Preview for polite-licorice-3db33c canceled.
|
|
Could we add another test that just directly references |
|
Related: #851 |
Signed-off-by: Craig Pastro <pastro.craig@gmail.com>
I've added a test. Is it what you had in mind? |
Signed-off-by: Craig Pastro <pastro.craig@gmail.com>
yes! |
Signed-off-by: Craig Pastro <pastro.craig@gmail.com>
Codecov Report
@@ Coverage Diff @@
## main #847 +/- ##
==========================================
- Coverage 72.70% 72.56% -0.14%
==========================================
Files 27 27
Lines 2729 2759 +30
==========================================
+ Hits 1984 2002 +18
- Misses 661 669 +8
- Partials 84 88 +4
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
|
The length of |
I've added the There's also a very small negative delta in codecov, but I'm fine with merging as is. |
🤖 I have created a release *beep* *boop* --- <details><summary>flagd: 0.6.4</summary> ## [0.6.4](flagd/v0.6.3...flagd/v0.6.4) (2023-08-30) ### 🐛 Bug Fixes * **deps:** update module github.com/cucumber/godog to v0.13.0 ([#855](#855)) ([5b42486](5b42486)) * **deps:** update module github.com/open-feature/flagd/core to v0.6.3 ([#794](#794)) ([9671964](9671964)) ### 🧹 Chore * **deps:** update golang docker tag to v1.21 ([#822](#822)) ([effe29d](effe29d)) </details> <details><summary>flagd-proxy: 0.2.9</summary> ## [0.2.9](flagd-proxy/v0.2.8...flagd-proxy/v0.2.9) (2023-08-30) ### 🐛 Bug Fixes * **deps:** update module github.com/open-feature/flagd/core to v0.6.3 ([#794](#794)) ([9671964](9671964)) ### 🧹 Chore * **deps:** update golang docker tag to v1.21 ([#822](#822)) ([effe29d](effe29d)) </details> <details><summary>core: 0.6.4</summary> ## [0.6.4](core/v0.6.3...core/v0.6.4) (2023-08-30) ### 🐛 Bug Fixes * **deps:** update kubernetes packages to v0.28.0 ([#841](#841)) ([cc195e1](cc195e1)) * **deps:** update kubernetes packages to v0.28.1 ([#860](#860)) ([f3237c2](f3237c2)) * **deps:** update module github.com/open-feature/open-feature-operator to v0.2.36 ([#799](#799)) ([fa4da4b](fa4da4b)) * **deps:** update module golang.org/x/crypto to v0.12.0 ([#797](#797)) ([edae3fd](edae3fd)) * **deps:** update module golang.org/x/net to v0.14.0 ([#798](#798)) ([92c2f26](92c2f26)) * **deps:** update module sigs.k8s.io/controller-runtime to v0.15.1 ([#795](#795)) ([13d62fd](13d62fd)) * **deps:** update module sigs.k8s.io/controller-runtime to v0.16.0 ([#856](#856)) ([88d832a](88d832a)) ### ✨ New Features * add flag key to hash in fractional evaluation ([#847](#847)) ([ca6a35f](ca6a35f)) * add gRPC healthchecks ([#863](#863)) ([da30b7b](da30b7b)) * support nested props in fractional evaluator ([#869](#869)) ([50ff739](50ff739)) ### 🧹 Chore * deprecate fractionalEvaluation for fractional ([#873](#873)) ([243fef9](243fef9)) * replace xxh3 with murmur3 in bucket algorithm ([#846](#846)) ([c3c9e4e](c3c9e4e)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR
This PR adds the flag key as input to the hash in fractional evaluation. Since the evaluation function only has access to user-supplied logic and context, which almost certainly will not contain the flag key, in order to get this data to the evaluation function I add a
flagdPropertiesstruct to the context via a namespaced key$flagd. TheflagdPropertiesstruct contains the flag key, which is then used as input to the hash.Related Issues
Part 2 of #843.
Notes
Follow-up Tasks
How to test