Tuesday, August 26, 2008

GoDaddy's New Problem


Last week I received this email from GoDaddy:

Dear ---- ------,

As part of a continuing effort to provide the highest quality service for our valued customers, your hosting account, MRHINKYDINK.COM, will be migrated to a new server in 24 hours. If you are using external DNS servers or your domain was created under a separate customer number... blah blah blah...

I was going to blog about it but I thought I'd give the some time to screw the pooch before I said anything.

And, by golly, screw the pooch they did. It only took them a week. Such a shame. Things were going so well, boys and girls.

I came home today to find the 4PM proxy run hung up. Sure enough, the World Domination Map was fucked as well. But it's not the "426 Connection closed. Transfer Aborted" problem this time.

It's something Tech Support will never, ever understand. I don't understand it much myself, but I do have a great deal of documentation on how the old server acted during an ftp transfer, and here's how it used to work:

  1. the ftp transfer completes
  2. my side issues a QUIT command
  3. GoDaddy sends a 221 response
  4. GoDaddy sends a FIN, ACK
  5. my side sends a FIN, ACK
  6. it's over

Here's how it works now:

  1. the ftp transfer completes
  2. my side issues a QUIT command
  3. GoDaddy sends a 221 response
  4. my side sends a FIN, ACK
  5. my side sends a FIN, ACK
  6. my side sends a FIN, ACK
  7. my side sends a FIN, ACK
  8. my side sends a FIN, ACK
  9. ad infinitum

See that? They didn't send a TCP "FIN, ACK" after their 221 response. As a result, my ftp process never gets the "It's over, Johnny" signal and waits for a long time. Sooner or later it times out, but the ftp command doesn't exit until that happens. In the map process, this is very, very bad, because it will still be waiting by the time the next run is ready (the runs are 30 seconds apart).

Lucky for me, I found a work-around. I issue a "close" command right after the QUIT in the ftp script. Basically, "close" means "Fuck this shit, I'm outtahere!" It's very rude, but it's the only way out without the ftp server sending a "FIN, ACK".

So far it seems to be working well.

The Proxy List process is a different story. I'll need to get a few more captures to see what the problem is there, but I added the "close" to that script just for funsies. But I can see myself writing a separate script for each page (ugh) to get around this crap. The map process is one file. The proxy process is twenty files.

I just wish GoDaddy would stop doing me these "favors".

No comments:

Post a Comment