issue #594, handle SocketTimeoutException differently
Merge remote-tracking branch 'upstream/master'
Merge pull request #608 from weizhu-us/master

 issue #594, handle SocketTimeoutException differently