[prev] [thread] [next] [Date index for 2006/01/20]
Hi all, I've been having this kind of error recently and can't seem to find a solution: error: DBD::mysql::st execute failed: Lost connection to MySQL server during query [for Statement "SELECT address, prefix, status, used_by FROM Ipblock WHERE id=? "] at /usr/lib/perl5/site_perl/5.8.0/DBIx/ContextualFetch.pm line 51. context: ... 47: sub _untaint_execute { 48: my $sth = shift; 49: my $old_value = $sth->{Taint}; 50: $sth->{Taint} = 0; 51: my $ret = $sth->SUPER::execute(@_); 52: $sth->{Taint} = $old_value; 53: return $ret; 54: } 55: ... code stack: /usr/lib/perl5/site_perl/5.8.0/DBIx/ContextualFetch.pm:51 /usr/lib/perl5/site_perl/5.8.0/DBIx/ContextualFetch.pm:31 /usr/lib/perl5/site_perl/5.8.0/DBIx/ContextualFetch.pm:86 /usr/lib/perl5/site_perl/5.8.0/Class/DBI.pm:849 /usr/lib/perl5/site_perl/5.8.0/Class/DBI.pm:836 /usr/lib/perl5/site_perl/5.8.0/Class/Accessor.pm:385 /usr/local/netdot/lib/Netdot/IPManager.pm:416 /usr/local/netdot/lib/Netdot/IPManager.pm:748 /usr/local/netdot/lib/Netdot/DeviceManager.pm:828 /usr/local/netdot/htdocs/updatedevice.html:164 /usr/local/netdot/htdocs/section_management.html:174 /usr/local/netdot/htdocs/autohandler:20 raw error As you can probably guess, this is a web app using Class::DBI, HTML::Mason and mod_perl. The problem happens at random and it's difficult to reproduce. It happens at differnt parts of the code. In some cases, to simplify things, I bypass Class::DBI and execute direct SQL queries using the db handle returned by db_Main. I don't know whether this has anything to do with the issue. I've followed the suggestions in the wiki about the interaction between Apache::DBI and Ima::DBI and added an overridden db_Main in my Class::DBI subclass. But that didn't seem get rid of the error. :-( The versions of packages I'm running are as follows: Class::DBI v3.0.14 Ima::DBI 0.34 DBI 1.50 DBD::mysql 3.0002 Apache 2.0.53 Apache::DBI 0.9901 Ima::DBI 0.34 HTML::Mason 1.32 mod_perl-2.0.1 MySQL 4.1.14-standard Any help would be very appreciated. cv On Fri, 2006-01-20 at 04:00 -0800, classdbi-request@xxxxx.xxxxxxxxxxxxxxxx.xxx wrote: > Send ClassDBI mailing list submissions to > classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi > or, via email, send a message with subject or body 'help' to > classdbi-request@xxxxx.xxxxxxxxxxxxxxxx.xxx > > You can reach the person managing the list at > classdbi-owner@xxxxx.xxxxxxxxxxxxxxxx.xxx > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of ClassDBI digest..." > > > Today's Topics: > > 1. Re: Prepared statement handle error under mod_perl > (Perrin Harkins) > 2. Re: Prepared statement handle error under mod_perl (Ryan Tate) > 3. Can CDBI do this? (Ben Lavender) > 4. Re: Can CDBI do this? (Bill Moseley) > 5. Re: Can CDBI do this? (Will Hawes) > 6. Re: Can CDBI do this? (Edward J. Sabol) > 7. Re: Re: Can CDBI do this? (Matt S Trout) > 8. Re: Re: Can CDBI do this? (Perrin Harkins) > 9. Patch: POD typos in CDBI::Sweet (Frank Wiegand) > 10. Re: Patch: POD typos in CDBI::Sweet (Matt S Trout) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 19 Jan 2006 09:54:08 -0500 > From: Perrin Harkins <perrin@xxxx.xxx> > Subject: Re: [CDBI] Prepared statement handle error under mod_perl > To: Ryan Tate <lists@xxxxxxxx.xxx> > Cc: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <1137682448.31894.6.camel@xxxxxxxxx.xxxxxxxxxxx> > Content-Type: text/plain > > On Wed, 2006-01-18 at 22:44 -0800, Ryan Tate wrote: > > Thanks for this, it sounds promising. I have it disabled but of course > > I need some hours before I know if it worked ;-> > > You can probably just kill the connection from the server side to get > the same effect. > > - Perrin > > > > > ------------------------------ > > Message: 2 > Date: Thu, 19 Jan 2006 09:57:36 -0800 > From: Ryan Tate <lists@xxxxxxxx.xxx> > Subject: Re: [CDBI] Prepared statement handle error under mod_perl > To: Perrin Harkins <perrin@xxxx.xxx>, > classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: > <9e3ac3270601190957i11eda6ebwf8d838301648fd85@xxxx.xxxxx.xxx> > Content-Type: text/plain; charset=ISO-8859-1 > > On 1/19/06, Perrin Harkins <perrin@xxxx.xxx> wrote: > > You can probably just kill the connection from the server side to get > > the same effect. > > That would be far too intelligent ... but I tried this technique at > your insistence. > > Doing so, I was able to confirm that this was an issue with > mysql_auto_reconnect. Setting it to 0 in my connection attributes > allowed my Web app to survive a stop and start of mysqld just fine. > Leaving the DBD::mysql default in place (and thus leaving > mysql_auto_reconnect at 1, since I'm running under mod_perl), the Web > app produced the aforementioned error after stopping and then starting > mysqld. > > So thanks for solving this problem! > > RT > > > > ------------------------------ > > Message: 3 > Date: Thu, 19 Jan 2006 22:11:10 +0100 > From: Ben Lavender <blavender@xxxxx.xxx> > Subject: [CDBI] Can CDBI do this? > To: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: > <ee8ed2da0601191311p19a3b03age3e13e158322522f@xxxx.xxxxx.xxx> > Content-Type: text/plain; charset=ISO-8859-1 > > Hello everyone, > > I've been using cdbi for a while, but have to jump on to someone > else's work for something. Long story short, I've got to do some > multi-table searches of a sort I haven't done before. > > For purposes of illustration, I have 2 tables, events and > certifications. An event row has a field, cert, which is a primary > key id of a row on the certs table. In CDBI speak, a CDBI::Event > has_a CDBI::Cert. > > Long story short, I need to run a query that looks like this: > > SELECT events.(essential) FROM events, certs WHERE ( events.duedate > < "2999-01-01" AND certs.id = events.cert AND certs.type = "Some > String I Input") ORDER BY dueDate LIMIT 10; > > Can CDBI or one of it's nifty associated classes do this without > resorting to messey, maintenance-error-prone set_sql and the like? > The CDBI:AbstractSearch docs would seem to point to 'no'. I'll manage > if not, but I don't want to start doing something I'm going to kick > myself for later. > > Thanks, > Ben > > > Note: Initially sent to list before joining and bounced. Apologies > should a duplicate appear. > > > > ------------------------------ > > Message: 4 > Date: Thu, 19 Jan 2006 13:20:32 -0800 > From: Bill Moseley <moseley@xxxx.xxx> > Subject: Re: [CDBI] Can CDBI do this? > To: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <20060119212032.GA20474@xxxx.xxx> > Content-Type: text/plain; charset=us-ascii > > On Thu, Jan 19, 2006 at 10:11:10PM +0100, Ben Lavender wrote: > > SELECT events.(essential) FROM events, certs WHERE ( events.duedate > > < "2999-01-01" AND certs.id = events.cert AND certs.type = "Some > > String I Input") ORDER BY dueDate LIMIT 10; > > Look at CDBI::Sweet; > > -- > Bill Moseley > moseley@xxxx.xxx > > > > > ------------------------------ > > Message: 5 > Date: Thu, 19 Jan 2006 21:32:23 +0000 > From: Will Hawes <info@xxxxxx.xx.xx> > Subject: Re: [CDBI] Can CDBI do this? > Cc: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <43D00567.8070806@xxxxxx.xx.xx> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Bill Moseley wrote: > > On Thu, Jan 19, 2006 at 10:11:10PM +0100, Ben Lavender wrote: > >> SELECT events.(essential) FROM events, certs WHERE ( events.duedate > >> < "2999-01-01" AND certs.id = events.cert AND certs.type = "Some > >> String I Input") ORDER BY dueDate LIMIT 10; > > > > Look at CDBI::Sweet; > > > > Or better still, switch to DBIx::Class. > > > > > ------------------------------ > > Message: 6 > Date: Thu, 19 Jan 2006 16:45:54 -0500 > From: "Edward J. Sabol" <sabol@xxxxxxxx.xxxx.xxxx.xxx> > Subject: [CDBI] Re: Can CDBI do this? > To: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <200601192145.k0JLjs99019937@xxxxxxxx.xxxx.xxxx.xxx> > > Ben Lavender asked about the following: > >>> SELECT events.(essential) FROM events, certs WHERE ( events.duedate < > >>> "2999-01-01" AND certs.id = events.cert AND certs.type = "Some String I > >>> Input") ORDER BY dueDate LIMIT 10; > > Bill Moseley replied: > >> Look at CDBI::Sweet; > > Will Hawes replied: > > Or better still, switch to DBIx::Class. > > Frankly, you don't need to do either one. Yes, CDBI can do this. Read the > CDBI docs on the set_sql method: > > http://search.cpan.org/~tmtm/Class-DBI/lib/Class/DBI.pm#Ima%3A%3ADBI_queries > > and read the Wiki node on using joins: > > http://wiki.class-dbi.com/wiki/Using_joins > > > > ------------------------------ > > Message: 7 > Date: Thu, 19 Jan 2006 22:14:15 +0000 > From: Matt S Trout <dbix-class@xxxxx.xx.xx> > Subject: Re: [CDBI] Re: Can CDBI do this? > To: "Edward J. Sabol" <sabol@xxxxxxxx.xxxx.xxxx.xxx> > Cc: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <20060119221415.GC29384@xxxxxxx.xxxxxx.xxx> > Content-Type: text/plain; charset=us-ascii > > On Thu, Jan 19, 2006 at 04:45:54PM -0500, Edward J. Sabol wrote: > > Ben Lavender asked about the following: > > >>> SELECT events.(essential) FROM events, certs WHERE ( events.duedate < > > >>> "2999-01-01" AND certs.id = events.cert AND certs.type = "Some String I > > >>> Input") ORDER BY dueDate LIMIT 10; > > > > Bill Moseley replied: > > >> Look at CDBI::Sweet; > > > > Will Hawes replied: > > > Or better still, switch to DBIx::Class. > > > > Frankly, you don't need to do either one. Yes, CDBI can do this. Read the > > CDBI docs on the set_sql method: > > This is, admittedly, true. You don't *need* to do either one. But your life > will be far easier if you do, unless you like writing an extra SQL query > every single time you need to change the arguments. And embedding SQL queries > willy-nilly in your object class, so you've now got two languages to worry > about instead of one. > > I spent a long time doing set_sqls. Eventually I gave up and wrote the Sweet > join support instead, and my maintainability shot up. YMMV, but that's my > experience - and the reason why when I hit the ceiling of what CDBI could > cope with via subclassing, I started DBIx::Class to replace it (for values > of "replace" meaning "in my code" - I think it's a massive improvement on > CDBI, but I have no issue with people disagreeing with me on that :) > > -- > Matt S Trout Offering custom development, consultancy and support > Technical Director contracts for Catalyst, DBIx::Class and BAST. Contact > Shadowcat Systems Ltd. mst (at) shadowcatsystems.co.uk for more information > > + Help us build a better perl ORM: http://dbix-class.shadowcatsystems.co.uk/ + > > > > ------------------------------ > > Message: 8 > Date: Thu, 19 Jan 2006 17:08:50 -0500 > From: Perrin Harkins <perrin@xxxx.xxx> > Subject: Re: [CDBI] Re: Can CDBI do this? > To: "Edward J. Sabol" <sabol@xxxxxxxx.xxxx.xxxx.xxx> > Cc: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <1137708530.5270.40.camel@xxxxxxxxx.xxxxxxxxxxx> > Content-Type: text/plain > > On Thu, 2006-01-19 at 16:45 -0500, Edward J. Sabol wrote: > > Frankly, you don't need to do either one. Yes, CDBI can do this. Read the > > CDBI docs on the set_sql method > > The original poster specifically asked for a solution that avoids > set_sql, but I agree, it's much simpler than any of the alternatives if > you already have a working Class::DBI setup. > > - Perrin > > > > > ------------------------------ > > Message: 9 > Date: Fri, 20 Jan 2006 00:02:07 +0100 > From: Frank Wiegand <frank@xxxxxxxxxxxxxxxx.xx> > Subject: [CDBI] Patch: POD typos in CDBI::Sweet > To: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <43D01A6F.6020005@xxxxxxxxxxxxxxxx.xx> > Content-Type: text/plain; charset="iso-8859-15" > > Here's a patch that fixes some POD typos in Class/DBI/Sweet.pm > -------------- next part -------------- > Index: lib/Class/DBI/Sweet.pm > =================================================================== > --- lib/Class/DBI/Sweet.pm (Revision 3108) > +++ lib/Class/DBI/Sweet.pm (Arbeitskopie) > @@ -958,7 +958,7 @@ > > =item case, cmp, convert, and logic > > -These attributes are passed to L<SQL::Abstact>'s constuctor and alter the > +These attributes are passed to L<SQL::Abstact>'s constructor and alter the > behavior of the criteria. > > { cmp => 'like' } > @@ -1060,7 +1060,7 @@ > The %s strings are replaced by sql parts as described in L<Ima::DBI>. See > "statement_order" for the sql part that replaces each instance of %s. > > -In addition, the associated statment for COUNT(*) statement has "_Count" > +In addition, the associated statement for a COUNT(*) statement has "_Count" > appended to the sql_method name. Only "from" and "where" are passed to the sprintf > function. > > @@ -1149,7 +1149,7 @@ > > where order_by limit > > -Prefecch_cols are the columns selected when a prefetch is speccified -- use in the SELECT. > +Prefetch_cols are the columns selected when a prefetch is specified -- use in the SELECT. > Prefetch_names are just the column names for use in GROUP BY. > > This is useful when statement order needs to be changed, such as when using a > @@ -1179,11 +1179,11 @@ > > =head2 page > > -Retuns a page object and an iterator. The page object is an instance of > +Returns a page object and an iterator. The page object is an instance of > L<Data::Page>. > > ( $page, $iterator ) > - = MyApp::Article->page( $criteria, { rows => 10, page => 2 ); > + = MyApp::Article->page( $criteria, { rows => 10, page => 2 } ); > > printf( "Results %d - %d of %d Found\n", > $page->first, $page->last, $page->total_entries ); > > ------------------------------ > > Message: 10 > Date: Fri, 20 Jan 2006 00:00:55 +0000 > From: Matt S Trout <dbix-class@xxxxx.xx.xx> > Subject: Re: [CDBI] Patch: POD typos in CDBI::Sweet > To: Frank Wiegand <frank@xxxxxxxxxxxxxxxx.xx> > Cc: classdbi@xxxxx.xxxxxxxxxxxxxxxx.xxx > Message-ID: <20060120000055.GF29384@xxxxxxx.xxxxxx.xxx> > Content-Type: text/plain; charset=us-ascii > > On Fri, Jan 20, 2006 at 12:02:07AM +0100, Frank Wiegand wrote: > > Here's a patch that fixes some POD typos in Class/DBI/Sweet.pm > > Contact Marcus Ramberg, who's maintaing Sweet these days. > > Also - > > -These attributes are passed to L<SQL::Abstact>'s constuctor and alter the > +These attributes are passed to L<SQL::Abstact>'s constructor and alter the > > Maybe you could fix Abstact -> Abstract while you're there :) > > -- > Matt S Trout Offering custom development, consultancy and support > Technical Director contracts for Catalyst, DBIx::Class and BAST. Contact > Shadowcat Systems Ltd. mst (at) shadowcatsystems.co.uk for more information > > + Help us build a better perl ORM: http://dbix-class.shadowcatsystems.co.uk/ + > > > > ------------------------------ > > _______________________________________________ > ClassDBI mailing list > ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx > http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi > > > End of ClassDBI Digest, Vol 7, Issue 22 > *************************************** _______________________________________________ ClassDBI mailing list ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi
[CDBI] Lost connection to MySQL server during query
|
Re: [CDBI] Lost connection to MySQL server during query
|
Re: [CDBI] Lost connection to MySQL server during query
|
Re: [CDBI] Lost connection to MySQL server during query
|
Generated at 12:49 on 27 Jan 2006 by mariachi v0.52