I'd like to splash out all my emotions associated with using Polygon system.
Everyone thanks MikeMirzayanov (and other members of Codeforces team very rarely) for this system. Well, it seems like a good system that has no famous analog at the first glance. But is it actually so smoothy? Let's list all problems associated with Polygon!
It happens VERY often: there are no waiting invokers. I could understand if it lasted a minute or if it happened rare. But it happens almost every day (every night by MSK to be more precise). And it can last half and hour and even longer. And it's disgusting because you can't do anything in such moments: tests aren't being generated (or are being generated very-very slowly), packages can't be built and so on.
Sometimes you want to delete some test (sample for example). You can do it easily, but after that you need to renumerate other tests and Polygon gladly offers you to do it by itself. And when you agree to do it, if you have many tests and they are big, you have to wait for a long time and then Polygon just drops you Gateway Timeout page. Very nice! You can't just refresh the page because it'll try to renumerate everything once more and you'll get error one more time. So you should close the tab and go to your problem page from the main menu of the Polygon. And you're a lucky man if it has done its job and has renumerated tests.
The more fun thing happens if you want to move some test by yourself. With a 99% probability you'll get error page, of course, but when you return back to the problem's page a surprise will be waiting for you! Sometimes the test just duplicates itself in two positions: its old position and its new position (where you wanted to move it). And now you have to delete one of the duplicates. And go to problem number 2 from this list. Again.
There is another problem connected with problems 2 and 3. As I understood Polygon has some 'lazy' operations pool. You can ask it to renumerate tests, for example, then it adds your request to this pool and then you wait when it will be done. If it worked fast and without Gateway Timeout error, it seemed to be OK. BUT! If your operation was added to this pool and you decided to commit the changes, another surprise is waiting for you. Operation isn't complete, but Polygon doesn't think so. Changes will be commited, but when you come back after some period of time, you discover that there are new modifications of your problem that weren't commited.
May be I'll remember some other interesting 'features' of Polygon and add them here...
And now I have a logical question: why doesn't anyone fix it? I noticed some of these 'features' about two years ago and nothing happened. I'm almost sure that they have been around much longer. Polygon is more than ten years old, why does anyone care? It's a really good system that can save your time, but these problems just kill your time and nerves instead of saving them.
MikeMirzayanov and all Codeforces and Polygon team, change your mind, please! Make Polygon great again!
DISCLAIMER: Please, don't treat this comment as an official CF & Polygon team answer.
Hello!
Thanks for your feedback post. We work hard to support Codeforces and Polygon every day, but our developers team is small and we have many goals to work on.
1st: Every night by msk all systems have routine maintenance to make them stable for the next day. So invokers could be unavailable for some time, but I'm pretty sure that the time of invokers unavailability has not exceeded half an hour.
2-4: Working with tests could be slow if you have many manual tests in a problem. If it not so, you're welcome to write an issue in the public issue tracker.
I believe that the best place to complain about Polygon is github issues https://github.com/Codeforces/polygon-issue-tracking/issues
I agree about your first point. Polygon is sometimes slow or unavailable. A big contest like POI would likely start using it only if it's possible to run your own instance of Polygon. I believe that this happened for IOI.
I never noticed anything bad about moving or removing tests though.
All experienced Polygon users know that (2) should be done as this: cut all generated tests, add / remove / reorder manual tests, paste all generated tests