View Single Post
Old 2015-04-01, 04:57   #890
Serpentine Vermin Jar
Madpoo's Avatar
Jul 2014

2×1,637 Posts

Originally Posted by Madpoo View Post
Sorry folks, I guess I missed all of this at the time.

I'll have to check the logs and see what happened, I suppose. That page sets some URL parameters when you submit and reloads the page with them. If someone were to directly call the URL with those parameters set, the server would happily spit out a new assignment on each reload of the page.

Why that would happen on accident is unknown. From the server side of things it seems a bit unlikely so I'd have to see what the logs say about it. It seems more likely that someone's browser decided to reload the page on it's own, or someone fat-fingered a script of some kind (or did it on purpose).

Whatever the case though, it does seem like there's room to improve it.
So... blah blah blah, user comes in to the home page from Google, looks at a few pages, creates a user account, then goes to the manual assignment page.

First time was fine... 12 cores and 1 assignment each, with a max exponent of 37,963,189.

I'm guessing next it's a case of the user not really understanding the options on that page. It was selected for 12 cores and 95 assignments per core (1140 in each fetch). That happened once, then the user visited the download page (but didn't download anything yet).

Came back to the manual assignment page and went for 12 cores / 95 each again (8 minutes after the first large batch), 10 times in a row there in a period of about a minute, fetching another 11,400 on top of the 1141 already grabbed. the "referrer" field of each subsequent one was itself, so that could indicate just hitting refresh on the page that shows your assignments.

Maybe it was a case of the server taking a while to generate 1140 assignments, and the user gets impatient and hits refresh every 6 or 7 seconds, maybe as long as 20 seconds. Doesn't matter... the request was made and the thread to generate the assignments was called. User might have never seen anything on the page unless they were really patient.

Then the user goes and downloads the Linux and Mac clients, comes back to the manual assignment page. Tries again with just 1 core / 1 assignment. Then gets greedy again and goes for 12 cores / 91 assignments this time. 15 of those.

Then 2 in a row of 12 core / 1 assignment. Followed by 12 cores, 66 assignment, and then a really long succession of getting 12 core/95 assignment with a variety of other odd choices in there (12 core, 66 assignments, 1 core/1 assignment, etc).

I guess if I added it all up it would come to whatever grand total was mentioned.

Note: The server *did* apparently finish making all the assignments, so hey, we've got that going for it. Had the user checked their assignment page for their account, it would have displayed them, although I kind of wonder how responsive that page is when showing that many? It's a table after all...

Anyway, it seems like the solutions involve:
  • Limiting the # of assignments you can get in one request
  • Modifying it after submission so the user knows to WAIT if it's a LOT of assignments
  • Prevent a mere refresh of the page from requesting a whole new set

Any/all of those.

I don't see anything malicious in it... just a new user not understanding that selecting that many cores plus that many assignments per core is obviously a lot of work and the server will dutifully try to fulfill the request, but please be patient. If it were made clearer, like "hey buddy, you're asking for 1,140 assignments...are you sure?" maybe it would help.
Madpoo is offline   Reply With Quote