This simply doesn't make sense: here we set the end_date to the experiment's end_date + 1 day and generate dates including the date beyond the experiment's end_date:
|
if config.experiment.end_date: |
|
end_date = config.experiment.end_date + timedelta(days=1) |
|
|
|
end_date = min(end_date, today) |
|
run_dates = inclusive_date_range(config.experiment.start_date, end_date) |
And here we fail once we're past the experiment's
end_date:
|
if ( |
|
current_date |
|
and self.config.experiment.end_date |
|
and self.config.experiment.end_date < current_date |
|
): |
|
print(f"Experiment is over: {current_date} past {self.config.experiment.end_date}") |
|
raise errors.EndedException(self.config.experiment.normandy_slug) |
The exception looks like:
INFO:2026-06-23 14:29:11,536:jetstream.analysis:Analysis.run invoked at 2026-06-23 21:29:11.536154+00:00for experiment all-users-day-5-reengagement-push and date 2026-06-18
Experiment is over: 2026-06-18 00:00:00+00:00 past 2026-06-17 00:00:00+00:00
ERROR:2026-06-23 14:29:11,536:jetstream.cli:all-users-day-5-reengagement-push -> Experiment has already ended.
Traceback (most recent call last):
File "/Users/nalexander/firefox/jetstream/jetstream/cli.py", line 273, in execute
analysis.run(
File "/Users/nalexander/firefox/jetstream/jetstream/analysis.py", line 1120, in run
self.check_runnable(current_date)
File "/Users/nalexander/firefox/jetstream/jetstream/analysis.py", line 877, in check_runnable
raise errors.EndedException(self.config.experiment.normandy_slug)
jetstream.errors.EndedException: all-users-day-5-reengagement-push -> Experiment has already ended.
┆Issue is synchronized with this Jira Task
This simply doesn't make sense: here we set the
end_dateto the experiment'send_date + 1 dayand generate dates including the date beyond the experiment'send_date:jetstream/jetstream/cli.py
Lines 371 to 375 in 46c7f36
And here we fail once we're past the experiment's
end_date:jetstream/jetstream/analysis.py
Lines 1009 to 1015 in 46c7f36
The exception looks like:
┆Issue is synchronized with this Jira Task