Skip Menu |

This queue is for tickets about the DBIx-Class CPAN distribution.

Report information
The Basics
Id: 114214
Status: resolved
Priority: 0/
Queue: DBIx-Class

People
Owner: Nobody in particular
Requestors: mmusgrove [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 0.082842



Subject: DBIx::Class::Storage::Sybase::_ping
When syb_no_child_con is enabled the _ping method of DBIx::Class::Storage::Sybase creates a new database handle so that it can try a 'select 1' query. The comments indicate someone else thought this was an odd thing to do: # FIXME if the main connection goes stale, does opening another for this statement # really determine anything? This is most certainly the wrong thing to do. It can lead to an application having an unhealthy connection to an otherwise healthy database that continues to get used (and continue to throw errors) because _ping returns true.
On Fri May 06 20:07:01 2016, MMUSGROVE wrote: Show quoted text
> When syb_no_child_con is enabled the _ping method of > DBIx::Class::Storage::Sybase creates a new database handle so that it > can try a 'select 1' query. The comments indicate someone else thought > this was an odd thing to do: > > # FIXME if the main connection goes stale, does opening another for > this statement > # really determine anything? > > This is most certainly the wrong thing to do. It can lead to an > application having an unhealthy connection to an otherwise healthy > database that continues to get used (and continue to throw errors) > because _ping returns true.
Indeed. I finally got a chance to audit the (oh god so crufty) codepath - and it seems that just removing the thing is sufficient, without even looking at the syb_child stuff. I have done so in https://github.com/dbsrgits/dbix-class/commit/82c5f9168 It would be great if you can test https://github.com/dbsrgits/dbix-class/tree/master against your Sybase RDBMS, by setting the envvars DBICTEST_SYBASE_DSN/_USER/_PASS and paying attention specifically to t/746sybase.t and t/icdt/engine_specific/sybase.t Thanks in advance!
Sorry for the late response but it's looking good so far! I'm going to kick off a full run of make test but I don't expect any issues.
Subject: 746sybase.out
Download 746sybase.out
application/octet-stream 13.9k

Message body not shown because it is not plain text.

Subject: icdt-sybase.out
Download icdt-sybase.out
application/octet-stream 1.2k

Message body not shown because it is not plain text.

This is finally on CPAN as https://metacpan.org/release/RIBASUSHI/DBIx-Class-0.082842 Sorry for the long road to get there.
Subject: Re: [rt.cpan.org #114214] DBIx::Class::Storage::Sybase::_ping
Date: Tue, 16 Jun 2020 17:25:42 -0500
To: bug-DBIx-Class [...] rt.cpan.org
From: "Mr. Muskrat" <mmusgrove [...] cpan.org>
No worries. I'm just glad to see progress on DBIx::Class! On Tue, Jun 16, 2020 at 4:27 PM Peter Rabbitson via RT < bug-DBIx-Class@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=114214 > > > This is finally on CPAN as > https://metacpan.org/release/RIBASUSHI/DBIx-Class-0.082842 > > Sorry for the long road to get there. >