Skip to content

Conversation

Mat001
Copy link
Contributor

@Mat001 Mat001 commented Oct 13, 2025

Issue Description:

In this running flag with no rules, there are discrepancies when using certain methods from the Go SDK, even with the latest version:

The GetFeatureVariableBoolean method in the Go SDK shows inconsistent behavior. When called on a user with ID 15580846, the user is not bucketed into the rollout, even though all users should be included.

The above cause the .get_all_feature_variables method to behave differently in the Python SDK compared to the Go SDK. In the Python SDK, it returns all true values, whereas in the Go SDK, it returns all false values for the same user.

Solution:

  • Changed maxHashValue from float32 to float64 to preserve precision when dividing hash values near 2^32
  • Updated ratio calculation from float32 to float64 to prevent rounding errors that caused bucket value 10000
  • Added unit tests covering 10,000+ bucketing keys to verify all bucket values stay within valid range [0, 9999]

Jira ticket:
https://optimizely-ext.atlassian.net/browse/FSSDK-11917

@Mat001 Mat001 self-assigned this Oct 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant