MailRuChamps / hlcupdocs

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

Некорректная генерация POST /accounts/<id>/ запросов. #100

Closed 0xd34d10cc closed 5 years ago

0xd34d10cc commented 5 years ago

Все данные взяты из test_accounts_141218.zip

Имеем вот такой запрос

483 POST:/accounts/<id>/
POST /accounts/1656/?query_id=218 HTTP/1.1
Host: accounts.com
User-Agent: Technolab/1.0 (Docker; CentOS) Highload/1.0
Accept: */*
Connection: close
Content-Length: 273
Content-Type: application/json

{"status":"\u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u043d\u043e","interests":["PS3","\u041e\u0431\u0449\u0435\u043d\u0438\u0435"],"sname":"\u041b\u0443\u043a\u044b\u043a\u0430\u043a\u0430\u044f","email":"erunnetnelmahdintere@inbox.ru","fname":"\u0418\u043d\u043d\u0430"}

ожидается 400: POST /accounts/1656/?query_id=218 400 Судя по всему потому, что юзер с email "erunnetnelmahdintere@inbox.ru" уже существует (user.id=9535).

И всё бы ничего, но его email перезаписывается другим запросом:

570 POST:/accounts/<id>/
POST /accounts/9535/?query_id=2266 HTTP/1.1
Host: accounts.com
User-Agent: Technolab/1.0 (Docker; CentOS) Highload/1.0
Accept: */*
Connection: close
Content-Length: 359
Content-Type: application/json

{"email":"eduvmectiin@gmail.com","interests":["50 Cent","\u041c\u0430\u0442\u0440\u0438\u0446\u0430","\u0414\u0435\u0432\u0443\u0448\u043a\u0438","\u0423\u0436\u0438\u043d \u0441 \u0434\u0440\u0443\u0437\u044c\u044f\u043c\u0438","\u0420\u0443\u0431\u0430\u0448\u043a\u0438"],"status":"\u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b","phone":"8(931)5560244"}

и от сервиса ожидается 202 на эту перезапись: POST /accounts/9535/?query_id=2266 202 {}