The perfect solution / Re: Apache not behaving nicely with cdbi (#2)

[prev] [thread] [next] [Date index for 2005/02/15]

From: karjala_lists
Subject: The perfect solution / Re: Apache not behaving nicely with cdbi (#2)
Date: 16:50 on 15 Feb 2005
The perfect solution to the problem was here: 
http://www.spanner.org/lists/cdbi/2004/11/15/7a69b2f1.html

-----------

> I solved this by adding a call to $obj->clear_object_index() right after 
> creating my Class::DBI object.  That method sets %Live_Objects = (), 
> which properly clears out any old data in mod_perl.

-----------

I needed to call clear_object_index() right after creating my Class::DBI 
object (which solved the problem), not before updating (which didn't).

Perhaps the page 
http://www.class-dbi.com/cgi-bin/wiki/index.cgi?CommonProblems#scop 
needs updating.

Thanks...




karjala_lists@xxxxxxx.xxx wrote:

> I tried both solutions extensively.
>
> For #1, I did all the following all at once:
> - removed "use Apache::DBI" from httpd.conf
> - substituted Class::DBI->set_db with ->connection(...)
> - wrote my own Class::DBI db_Main routine: { return DBI->connect(...); }
> - added "transaction-isolation = READ-COMMITTED" on the global my.cnf 
> file, section [mysqld]
>
> For #2,
> - I wrote $Class::DBI::Weaken_Is_Available = 0; at the top 
> declaration, which would globally disable the object index. I tried 
> writing both before and after the Class::DBI->connection line.
> - I did the other two suggestions in the "CommonProblems" page.
>
> I did all of these together. When I restarted Apache the same 
> problematic behaviour occurred.
>
> When I removed $object (the object I'm updating) from Mason's 
> "MasonAllowGlobals" array, the problem was solved (yet the code in the 
> pages becomes quite messy if I don't use Mason Globals).
>
> While running CDBI 0.95, Mason 1.21 and mod_perl 1.26 I didn't have 
> this problem. But now (0.96, 1.26 1.29) I do.
>
> Where to start...
>
>
>
> Perrin Harkins wrote:
>
>> On Tue, 2005-02-15 at 09:27 +0200, karjala_lists@xxxxxxx.xxx wrote:
>>  
>>
>>> When I go back to the first page to view the object, I get the old 
>>> values sometimes. I hit reload, and sometimes the old values show 
>>> up, sometimes the new ones. After a while I get only the new values.
>>>   
>>
>>
>> Are you using InnoDB tables?  If so, see this:
>> http://perl.apache.org/docs/1.0/guide/databases.html#Transactions_Not_Committed_with_MySQL_InnoDB_Tables 
>>
>>
>> If not, you probably have a scoping problem.  See the issue discussed
>> here about not seeing changes:
>> http://www.class-dbi.com/cgi-bin/wiki/index.cgi?CommonProblems
>>
>> - Perrin
>>
>>
>>  
>>
>
>
>


Apache not behaving nicely with cdbi (#2)
karjala_lists 07:27 on 15 Feb 2005

Re: Apache not behaving nicely with cdbi (#2)
karjala_lists 07:37 on 15 Feb 2005

Re: Apache not behaving nicely with cdbi (#2)
Perrin Harkins 14:38 on 15 Feb 2005

Re: Apache not behaving nicely with cdbi (#2)
karjala_lists 16:35 on 15 Feb 2005

The perfect solution / Re: Apache not behaving nicely with cdbi (#2)
karjala_lists 16:50 on 15 Feb 2005

Re: Apache not behaving nicely with cdbi (#2)
Perrin Harkins 18:32 on 15 Feb 2005

Re: Apache not behaving nicely with cdbi (#2)
karjala_lists 07:14 on 16 Feb 2005

Re: Apache not behaving nicely with cdbi (#2)
Perrin Harkins 13:36 on 16 Feb 2005

Generated at 11:20 on 20 Feb 2005 by mariachi v0.52