[rt-devel] Can I disable the cache in DBIx::Searchbuilder?

Jim Rowan jim.rowan at starcore-dsp.com
Fri Aug 8 14:16:06 EDT 2003


I've run into an odd problem...

 

This is on FreeBSD 4.8; RT 3.04, DBIx::Searchbuilder 0.88.

 

I'm trying to import tickets from another system.  I've whacked up a
script that is starting to work... I am able to Create() tickets with
(most of) the desired attributes from the old system.  The strangeness
is that if I run my script at full speed (either inside the perl
debugger or normally), it fails.  When I single step through it,
(actually, I "continue" in stages), it works.

 

During my development/debugging I've seen the same sort of failures (at
the same place) but with different stack traces.

 

 

 

When it fails, this is the trace:

 

[Fri Aug  8 17:37:47 2003] [crit]: Use of uninitialized value in
subtraction (-) at
/usr/local/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/Record/Cachable.
pm line 96.

 
DBIx::SearchBuilder::Record::Cachable::LoadByCols('RT::Ticket=HASH(0x8eb
0c24)','id',6144) called at /space/rt3/lib//RT/Record.pm line 222

        RT::Record::LoadByCols('RT::Ticket=HASH(0x8eb0c24)','id',6144)
called at
/usr/local/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/Record.pm line
811

 
DBIx::SearchBuilder::Record::LoadById('RT::Ticket=HASH(0x8eb0c24)',6144)
called at /space/rt3/lib//RT/Ticket_Overlay.pm line 212

        RT::Ticket::Load('RT::Ticket=HASH(0x8eb0c24)',6144) called at
/space/rt3/lib//RT/Transaction_Overlay.pm line 118

 
RT::Transaction::Create('RT::Transaction=HASH(0x8e8cec4)','Ticket',6144,
'TimeTaken',0,'Type','Create','Data','undef',...) called at
/space/rt3/lib//RT/Ticket_Overlay.pm line 3780

 
RT::Ticket::_NewTransaction('RT::Ticket=HASH(0x8d10c78)','Type','Create'
,'TimeTaken',0,'MIMEObj','undef') called at
/space/rt3/lib//RT/Ticket_Overlay.pm line 615

 
RT::Ticket::Create('RT::Ticket=HASH(0x8d10c78)','Requestor','ARRAY(0x8cd
5a1c)','Subject','linux login environment
please','Status','open','FinalPriority',99,...) called at
./import-itrack line 295

        main::bug_to_ticket('HASH(0x8e6f060)') called at ./import-itrack
line 176

 (/space/rt3/lib//RT.pm:242)

 

 

This is the line that is complaining:

    ## Decide if the cache object is too old

    if ((time() - $cache_time) <=
$this->{'_CacheConfig'}{'cache_for_sec'}) {

                $this->_fetch($cache_key); 

                return (1, "Fetched from cache");

 

So apparently $cache_time  is not set...

 

How do I go about debugging this?  If it is easy, I'd like to just
completely disable the cache concept till I get the rest of my
code/process more stable...  

 

Is this something that anyone has seen?

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://pallas.eruditorum.org/pipermail/rt-devel/attachments/20030808/b8e56c83/attachment.htm


More information about the Rt-devel mailing list