[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