[Rt-commit] rt branch, 4.2/stop-caching-while-serializing, created. rt-4.2.1-49-g9b26694

Kevin Falcone falcone at bestpractical.com
Fri Dec 6 15:12:13 EST 2013


The branch, 4.2/stop-caching-while-serializing has been created
        at  9b26694d5c8e96dad9a9ba9fac0c5d2474049ca5 (commit)

- Log -----------------------------------------------------------------
commit 9b26694d5c8e96dad9a9ba9fac0c5d2474049ca5
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Fri Dec 6 14:29:12 2013 -0500

    The DBIx::SearchBuilder cache doesn't help the serializer
    
    The serializer does lots of manual fetching and massaging of collections
    (to work around possibly being on old RT/old DBIx::SearchBuilder).
    Unfortunately, this means that the ::Cachable record class will fill a
    cache that never empties via the normal methods and your rt-serializer
    instance will leak memory like a sieve when serializing even 'simple'
    objects such as Transactions.
    
    This change made the difference between rt-serializer being unable to
    complete on a system with 6G of ram to never using more than 1.5G of
    RAM.

diff --git a/sbin/rt-serializer.in b/sbin/rt-serializer.in
index a668d1f..f8bc631 100644
--- a/sbin/rt-serializer.in
+++ b/sbin/rt-serializer.in
@@ -76,6 +76,7 @@ BEGIN {
 
 use RT;
 RT::LoadConfig();
+RT->Config->Set(RecordBaseClass => "DBIx::SearchBuilder::Record");
 RT::Init();
 
 use RT::Migrate;

-----------------------------------------------------------------------


More information about the rt-commit mailing list