Место заказов в стартовом мире #74
Notifications
Due Date
No due date set.
Depends on
#70 Приём заказов: нужен ли слепку слой сырья
ddmitry/clickstream-data-platform
#72 Расхождения A–D и опоздания: механика, доли и что обещано
ddmitry/clickstream-data-platform
Reference: ddmitry/clickstream-data-platform#74
Reference in New Issue
Block a user
Part of #69.
Вопрос
Появляются ли слепки заказов в стартовом мире, который
make upзаливает на пустой стенд, и что это делает с описью?Сегодня стартовый мир — восемь модельных дней событий; опись (
data/world-inventory.json) хранит паспорт мира и хеши дней,world-initзаливает их при подъёме, аmake check-clickhouseсверяет счёт по дням с описью (#42).Решить: входят ли заказы в тот же артефакт, как выглядит их хеш при окне изменяемости K (слепок дня D меняется ещё K дней), и что тогда сторожит проверка на стенде.
Вход из #72 — находка холодного ревью, которую там закрыть нечем.
При сдвиге отправки на день (#71) прогон дня D отправляет слепок дня D−1, поэтому
слепок последнего сыгранного дня не отправляется вовсе. На стартовом мире это день
7, и у 18 из 73 пар поздний назначенный заказ падает как раз на него (замерено
на каноническом зерне:
plan.counters(seed, 8).pairs= 73, из них 18 имеютmax(pair_order_days) == 7).Следствие: карта соответствий
dds.identity_mapстроится из моста «событиеpurchase↔ заказ», а этих заказов в хранилище не будет — четверть пар стартовогомира в карту не попадёт. Счётчик пар при этом их считает: он смотрит только на
горизонт (
plan.py,np.all(pair_order_days < days)) и про слепки не знаетничего. Опись покраснеет не от ошибки, а по построению.
Две двери, и обе здесь:
и число в §6 резолюции #72 (
N − 7) поедет;а «доехали ли эти заказы в отправленном слепке».
Со стороны #72 подпёрто тем, что назначенные планом заказы не опаздывают и их
события не теряются, — но заказ, у которого слепка нет вовсе, этим не спасти.