Сегодня, 2-го июня 2016-го года, произошла техническая накладка, которую я запомню надолго. Неудачным образом сложились сразу несколько обстоятельств, что привело к серьезному сбою в работе системы Полигон.
Дело в том, что в середине мая Полигон был перенесен на серверы, расположенные в Mail.Ru. Для осуществления переноса почти без даунтайма (а данных немало, около терабайта) была настроена утилита lsyncd, которая оперативно проталкивала изменения со старого сервера на новый. Ей же осуществляется один из вариантов бэкапа данных.
Сегодня случился ребут старого сервера, который привел к незапланированному запуску lsyncd и как результат — синхронизации данных со старого сервера опять на новый. В результате данные, находящиеся в файловой системе, были откатаны до версии на момент переноса (13 мая). Значительная неудача состоит в том, что в отличие от старого сервера, где система бэкапов была настроена хорошо и давно, на новом сервере я оперативно успел настроить тот же lsyncd, который не помогает в случае удаления файлов (так как форсирует удаление и на реплике). Очевидно, не помог RAID-1, который мы используем всюду для хранения данных.
Как результат, сделанные в трехнедельный период файлы изменений были утеряны. Некоторая информация (условия задач, данные о запусках и немного еще) сохраняется и в базе данных, поэтому доступна.
В экстренном порядке ночью мной была реализована специальная ссылка "Scraps" для задач, чтобы выкачивать архив с доступными данными. Если задача была использована в инфраструктуре Codeforces, то её пакеты остались в кэше тестирующей системы и доступны в том же архиве.
Мне очень паршиво осознавать, что моё недостаточное внимание к деталям привело к таким последствиям. Я отлично помню черный день Codeforces — и в результате него многое было пересмотрено (всюду зеркальные дисковые массивы, реплики и бэкапы). К сожалению, в этот раз после переезда на новое железо я оперативно не вернул все используемые скрипты и вот результат. Приношу свои глубочайшие извинения авторам задач.
М.
That's why you shouldn't trust polygon and make your own backups.
Maybe we can utilize copy-on-write snapshots to eliminate this kind of mistake?
Ну ясно же куда ведут следы!!
Что ж ты за человек то такой..
эээ...
Тролль???
Thank you so much for "Scraps". It contains statements (even one editorial I've written recently) and scripts. Files with codes (solutions, generators, validators) I store on my computer, so I think I lost literally only tags marked in some problems.
But yeah, back-ups are crucial for Polygon. I hope that nobody lost a lot of work, so the main effect of this event is that Polygon will be safer and thus better.
Right now it's impossible to hit "Start" or "Continue" next to any problem in Polygon (hitting it leads to an empty page). When will it be available?
Currently it is available to edit any problems that were created before May, 13.
Do having something like git local repository for polygon can help us , speed up our works and prevent such events ?
behind its speed for users , in such bad events we may lost Invocations,Packages,... but we are always sure that last version of important codes are available in our computer and everything can be recreated.
Using my client you can automatically synchronize most of files between polygon and local computer. It's not as good solution, as local git, but anyway.
Why downvotes?
Integrating polygon with git server would be great.
It will support conflicts resolution (finally).
It will be possible to work on problems without network.
Events like this will be impossible.
Я что-то не понимаю, а где шутка про Mail.ru?
yarrr еще до поста не добрался :)
Конкретно в этом случае Mail.Ru вообще не при чем. Размещенные серверы работают как часы, канал наружу и между ними отличный. Так что большое спасибо Mail.Ru!
Еще как при чем. Позвольте поведать вам о карме...
А что такокого плохого для кармы сделали mail.ru?
Стереотипы примерно такие:
You can take all changes from e-mail if you don't have it in Scraps.
Как можно восстановить задачу, если есть standart package скачанный?
Should we create new problems and copy the statements, etc. from the "Scraps" or should we wait to be able to edit the problems again? Because right now clicking Start in a corrupted problem leads to a blank page.
Don't get sad :(
We love you <3
Hey don't worry we all make mistakes :)
+428 upvotes!! really? I thought people can get sad or even angry with such loss. Is there any secret VoteForces working on some blogs?Never mind Mike, I accept your apology, so won't give you downvote this time.
Do you really think that Mike would cheat to get upvotes? He isn't even being shown in table of top contributors, although he has largest contribution. All community of codeforces really empathize with him. And less that everyone can do is to upvote this post or write a positive comment to cheer him up. That's why this post got so many upvotes, I think.
you mean largest contribution right? Cause I can't see his rating on his profile.
Yes, I mean largest contribution. My mistake
out of curiosity why are you unrated for 6 months and what is your purpose?
I guess it is a fake (not main) account
Сейчас у меня при открытии одной задачи открывается пустая страница. Это исправится или начинать её заного под новым номером?
Напишите мне в почту или ЛС id задачи.
А ещё, хотя возможно это не связано, ejudge перестал импортировать задачи с polygon'а, не может залогиниться. У меня одно так или это пока нормально?