Skip to content

Commit 3167920

Browse files
Reed AllmanBrigitte Lamarche
Reed Allman
authored and
Brigitte Lamarche
committed
driver.ErrBadConn when init packet read fails (go-sql-driver#736)
Thank you!
1 parent d1a8b86 commit 3167920

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

AUTHORS

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ oscarzhao <oscarzhaosl at gmail.com>
6161
Paul Bonser <misterpib at gmail.com>
6262
Peter Schultz <peter.schultz at classmarkets.com>
6363
Rebecca Chin <rchin at pivotal.io>
64+
Reed Allman <rdallman10 at gmail.com>
6465
Runrioter Wung <runrioter at gmail.com>
6566
Robert Russell <robert at rrbrussell.com>
6667
Shuode Li <elemount at qq.com>

packets.go

+5
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,11 @@ func (mc *mysqlConn) writePacket(data []byte) error {
157157
func (mc *mysqlConn) readInitPacket() ([]byte, error) {
158158
data, err := mc.readPacket()
159159
if err != nil {
160+
// for init we can rewrite this to ErrBadConn for sql.Driver to retry, since
161+
// in connection initialization we don't risk retrying non-idempotent actions.
162+
if err == ErrInvalidConn {
163+
return nil, driver.ErrBadConn
164+
}
160165
return nil, err
161166
}
162167

0 commit comments

Comments
 (0)