Fix A/B test timing bug #601
Merged
Conversation
…fetched to avoid misinterpreting absense of 'hub_plain' or 'hub_midnight'
|
Looks to be working as expected |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
conf.save.enable_human-webis set during startup, which is intercepted by the dispatcher, which callssetupABTest, which callssetupHubPromoABTest. Because the call tosetupABTestin thedispatcher.onhandler is not then()-chained to anabtest.fetchcall,setupHubPromoABTestmay get called before the A/B tests have been fetched for the first time. The absence of eitherhub_midnightorhub_plainon the still-emptyabtest.testsobject would then have been incorrectly interpreted to mean that the user should be placed in the remaining test bucket.I initially fixed this by putting the
setupABTestcall in thedispatcher.onhandler in a then() clause of anabtest.fetchcall, but I prefer the current fix because it avoids making an extra call to the A/B test server on every startup.