Fix new gbstats integration if no data returned #1975
Merged
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.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Our recently landed PR #1823 didn't handle the case where no data was returned for 1 or more metrics.
Before that PR, if there was missing data, we just skipped the gbstats call altogether here:
growthbook/packages/back-end/src/services/stats.ts
Lines 54 to 60 in ec88dce
After that PR, we removed that check, and were trying to process data with 0 rows in python which was casuing key errors, like this one: https://growthbookapp.slack.com/archives/C02BHUS8NBE/p1702998839752619
Now, we are spinning up python once per analysis, so we need to handle the case where 1 or more metrics are missing data when looping over metrics, which is in gbstats now.
Loom with before and after: https://www.loom.com/share/55099e1de1df400c88de06e77eada25c