MailRuChamps / hlcupdocs

High-loaded systems developer contest
https://highloadcup.ru
151 stars 34 forks source link

Зависящие друг от друга POST-запросы во второй фазе #57

Closed evis closed 7 years ago

evis commented 7 years ago

Вроде говорили, что во второй фазе не будет зависящих друг от друга запросов. В то же время в TRAIN-данных вижу следующее:

379 POST:/locations/new
<...>
{"id": 838, <...>}

<...>

207 POST:/visits/<entity_id>
<...>
{<...>, "location": 838}

Если сначала обработать первый запрос, второй вернёт 200; если сначала второй, то он должен вернуть 400.

Также конкретно сегодня на тестовом прогоне как минимум я и @AterCattus получили во второй фазе сначала обновление юзера 1006, а потом уже создание (id моего решения 12984)

PumbaOmsk commented 7 years ago

подтверждаю. 20.08.2017 много раз ловил обновление 1006 юзера с ошибкой.

dimkk commented 7 years ago

Подтверждаю с 1006

ewgRa commented 7 years ago

по 1006 тоже иногда возникает, по логам там сначала создание, потом обновление, но они настолько рядом видимо, что у меня создание не успевает, и на обновление 404 отвечает

zuko3d commented 7 years ago

@ewgRa Специально в один из заходов поставил у себя всю обработку в один поток - всё равно иногда не находит 1006, а иногда находит. Такое ощущение, что от обстрела к обстрелу порядок "выстрелов" меняется.

evis commented 7 years ago

@zuko3d, думаю, что скорее дело в том, что танк может в несколько потоков кидать запросы и тогда даже в твой один поток они всё равно в рандомном порядке приходят.

zuko3d commented 7 years ago

@evis да, тоже об этом думал. Только мне не совсем ясно, то ли это баг тестирующей системы (подаётся запрос на обновление несуществующего пользователся и ожидается код не 404, а 200), то ли моё решение (как и моё понимание условий) неверно.

sat2707 commented 7 years ago

Пересобрали генератор данных, теперь во второй фазе пост-запросы не зависят друг от друга