diff --git a/flagengine/engine-test-data b/flagengine/engine-test-data index 41c2021..6ab57ec 160000 --- a/flagengine/engine-test-data +++ b/flagengine/engine-test-data @@ -1 +1 @@ -Subproject commit 41c202145e375c712600e318c439456de5b221d7 +Subproject commit 6ab57ec67bc84659e8b5aa41534b04fe45cc4cbe diff --git a/flagengine/engine.go b/flagengine/engine.go index e671cdb..6258c38 100644 --- a/flagengine/engine.go +++ b/flagengine/engine.go @@ -88,7 +88,13 @@ func getFlagResults(ec *engine_eval.EngineEvaluationContext, featureOverrides ma // Get identity key if identity exists var identityKey *string if ec.Identity != nil { - identityKey = &ec.Identity.Key + // If identity key is not provided, construct it from environment key and identifier + if ec.Identity.Key == "" { + constructedKey := ec.Environment.Key + "_" + ec.Identity.Identifier + identityKey = &constructedKey + } else { + identityKey = &ec.Identity.Key + } } if ec.Features != nil { @@ -147,7 +153,7 @@ func getFlagResultFromFeatureContext(featureName string, featureContext *engine_ cumulativeWeight += variant.Weight if hashPercentage <= cumulativeWeight { value = variant.Value - reason = fmt.Sprintf("SPLIT; weight=%.0f", variant.Weight) + reason = fmt.Sprintf("SPLIT; weight=%g", variant.Weight) break } }