The connection was reset

What’s happening when the server says the connection was reset?

I can imagine all kinds of things. Getting its lunch or the hamsters’ lunch, yawning, madly checking between the chair’s cushion and arm for the cigarette it dropped while opening a beer or simply being ornery, dagnab it.

Or is “reset” a polite rephrasing of “I’m overloaded so your ass is outta here”?

Happened to me about a dozen times between 1530 and 1540 PDT today. Interesting question.
116

It has been happening to me with increasing frequency these last few weeks.

Same here.

I got a “Database Error” about 20 minutes ago.

Here’s the way computers talk to each other (I’m glossing over a LOT of details to make it understandable).

Computer: I’d like to open a connection
Server: Ok, the connection is open
Computer: Give me some data
Server: Here’s your data
Computer: Give me some more data
Server: Here’s your data
(repeated until you get all of the data you need from that server)
Computer: Ok, I’m done. Close the connection.
Server: Connection closed.

When you get a connection reset error, it instead went something like this:

Computer: I’d like to open a connection
Server: Ok, the connection is open
Computer: Give me some data
Server: Here’s your data
Computer: Give me some more data
Server: Resetting (closing) connection
Computer: wtf? Ok, close out the connection on my side and give the user an error

Or it could go something like this:

Computer: I’d like to open a connection
Server: Ok, the connection is open
Computer: Give me some data
Server: Here’s your data
Computer: Give me some more data
Server: Error, connection was reset, didn’t you get my reset message?
Computer: wtf? Ok, close out the connection on my side and give the user an error

While that is the mechanics of it, the underlying question is why is the server resetting and closing the connection? Sometimes the server gets overloaded, so to stop itself from crashing it just starts closing connections. It’s not a polite way of saying it’s overloaded. It’s basically (from a protocol point of view) a very rude way of saying “go away I’m not talking to you any more”.

Sometimes, though, it’s not the server’s fault. Comcast, for example, has been caught sneaking reset packets into connections, which is their sneaky underhanded way of reducing the traffic on their networks while making it look like it’s the other guy’s fault.

A connection reset occurs at the server’s operating system level or web server level. It is different from a “database error” which occurs when the message board software gets an error accessing the database that contains the straight dope messages. This can mean data corruption or it could mean that the database software is simply overloaded.

Thanks for the explanation. It’s appreciated.