what you may want is to do the session
.Copy() for each incoming HTTP request (with deffered
.Close()), copy again from the new session in your handlers if ever needed..
connections and reconnections are managed by mgo, you can stop and restart MongoDB while making an HTTP request to your web service to see how its affected.
if there's a db connection problem while handling an HTTP request, a db operation will eventually timeout (timeout can be configured by using
DialWithTimeout instead of the regular
Dial, so you can respond with a 5xx HTTP error code in such case.