Skip to content

TinyTds::Client.new blocks other threads #421

Open
@ebeigarts

Description

@ebeigarts

Environment

ProductName: Mac OS X
ProductVersion: 10.13.5
BuildVersion: 17F77
TinyTDS Version: 2.1.2
FreeTDS Version: 1.00.104
Ruby: 2.3.1

Description

TinyTds::Client.new blocks the other threads for 60s if the mssql server is not reachable. Am I missing something or this is the expected behavior?

Example:

https://gist.github.com/ebeigarts/85c5d6603f8dab78b04addcff2ef3d0c

ruby 2.3.1
tiny_tds 2.1.2
MAIN: 2018-11-28 13:20:17 +0200
THR1: 2018-11-28 13:20:17 +0200
THR2: 2018-11-28 13:20:17 +0200 START
MAIN: 2018-11-28 13:20:22 +0200
THR2: 2018-11-28 13:20:22 +0200 FAIL Unable to connect: Adaptive Server is unavailable or does not exist (10.193.15.203:1433)
THR1: 2018-11-28 13:20:22 +0200
MAIN: 2018-11-28 13:20:23 +0200
THR1: 2018-11-28 13:20:23 +0200
MAIN: 2018-11-28 13:20:24 +0200
THR1: 2018-11-28 13:20:24 +0200
MAIN: 2018-11-28 13:20:25 +0200
THR1: 2018-11-28 13:20:25 +0200
THR1: 2018-11-28 13:20:26 +0200
MAIN: 2018-11-28 13:20:26 +0200
THR1: 2018-11-28 13:20:27 +0200
MAIN: 2018-11-28 13:20:27 +0200
THR1: 2018-11-28 13:20:28 +0200
MAIN: 2018-11-28 13:20:28 +0200
MAIN: 2018-11-28 13:20:29 +0200
THR1: 2018-11-28 13:20:29 +0200
THR1: 2018-11-28 13:20:30 +0200
MAIN: 2018-11-28 13:20:30 +0200

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