[Rt-devel] ColumnMap, need help.

Ruslan Zakirov ruslan.zakirov at gmail.com
Thu Jun 22 18:15:16 EDT 2006


On 6/22/06, Alexey G Misyurenko <mag at caravan.ru> wrote:
> Hello!
>
> I use 3.4.4. (why not 3.6.0 is subject for another letter).
In 3.4.5 we have implemented performance improvement in ACL checks by
splitting one badly joined query into two subcequent. I don't know if
it works for oracle, but sure it worth to try. Also I sent patch for
3.4.5 to the rt-devel@ which should drop number of queries and make
ACL cache more effective, again worth to try.

> I'm try to speed up queue (search result) drawing procedure by
> using advanteges of oracle.
Without profiling you work is useless, unless you know where is
bottleneck you're wasting time. Change you're trying to do wouldn't
help you much :( as name of the queue is not full object so you have
to fetch full queue's record and create object, but I think to
implement this you have to change DBIx::SB or at least override some
low -level methods in RT::Ticket.
Anyway once process during request created object of a queue, code can
fetch this object from cache without requests to the DB. I think
you're moving in wrong direction, too high cost for miracle
improvement. There is much more ways to improve performance.

>
> For this I create  VIEW, which contain same fields as table Tickets and
> some additional
> fields.
>
> Also I create 'class'  ViewTicket (based on RT::Record and my View as
> Table) and ViewTickets.
>
> To use this class for view only way I also create
>
> ./local/html/Elements/CollectionAsTable/ViewRow
> ./local/html/Elements/RT__Ticket/ViewColumnMap
> ./local/html/Elements/ViewTicketList
>
>
> ./local/html/Search/Results.html is edited to use 'ViewTicketList' to
> show tickets list table
> ./local/html/Elements/ViewTicketList -> 'ViewRow'  to show row of
> tickets list table
>
> I receive all I want Search result are drawed more quickly (on
> bussines hours more x5 time faster in compare to original realization).
>
> But have a little problems.  Some times some of users right after login
> or during work receive error before drawing MyTickets section.
> After call HomePage. The error looks in next way:
>
> error:          RT::Ticket::QueueName Unimplemented in
> HTML::Mason::Commands. (/usr/local/rt
> /local/html/Elements/RT__Ticket/ViewColumnMap line 117)
> context:
> ...
> 492:    else {
> 493:    my ( $package, $filename, $line );
> 494:    ( $package, $filename, $line ) = caller;
> 495:
> 496:    die "$AUTOLOAD Unimplemented in $package. ($filename line $line)
> \n";
> 497:    }
> 498:
> 499:    }
> 500:
> ...
> code stack:
> /usr/lib/perl5/site_perl/5.8.7/DBIx/SearchBuilder/Record.pm:496
> /usr/local/rt/local/html/Elements/RT__Ticket/ViewColumnMap:117
> /usr/local/rt/local/html/Elements/TicketList:68
> /usr/local/rt/local/html/Elements/MyTickets:49
> /usr/local/rt/share/html/Elements/TitleBox:48
> /usr/local/rt/local/html/Elements/MyTickets:58
> /usr/local/rt/share/html/index.html:80
> /usr/local/rt/share/html/autohandler:215
>
>
> =========
>
> As I understand - RT::Ticket is used for work with tickets  but hiddely
> it is mapped (due to mason::cache or session ??)
> to RT::Ticket ColumnMap.
>
> Please help me find what I forget.
>
> (all files are avaible at ftp://mag.caravan.ru/pub/RT3.4.4/ViewTicket )
>
>
>
> _______________________________________________
> List info: http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel
>
> Best Practical is hiring! Come hack Perl for us: http://bestpractical.com/about/jobs.html
>


-- 
Best regards, Ruslan.


More information about the Rt-devel mailing list