Skip to content

false positive in checking connection liveness #963

Closed
@lrita

Description

@lrita

Issue description

Tell us what should happen and what happens instead

#934

When I update this package version to d0a5481, it alway show follow error log. After a simple investigation, I think there should using SyscallConn.Control instead of SyscallConn.Read in connCheck. If there is no data in the socket, we maybe got a reading-timeout error when driver do a connection liveness checking by using SyscallConn.Read. @vmg , do you think so? Thanks.

Example code

dsn: 

charset=utf8&parseTime=True&loc=Local&timeout=1s&writeTimeout=3s&readTimeout=3s

Error log

the package always logging:

closing bad idle connection: raw-read tcp xxx.xxx.xxx.xx->xxx.xxx.xxx.xx: i/o timeout

Configuration

Driver version (or git SHA):
d0a5481
Go version:
go1.12.4
Server version:
MySQL 5.5.31
Server OS:
Centos 7.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions