<?xml version="1.0" encoding="UTF-8"?>
<ticket>
  <assigned-user-id type="integer">424</assigned-user-id>
  <attachments-count type="integer">3</attachments-count>
  <closed type="boolean">true</closed>
  <created-at type="datetime">2008-11-19T19:07:34+00:00</created-at>
  <creator-id type="integer">37059</creator-id>
  <milestone-due-on type="datetime" nil="true"></milestone-due-on>
  <milestone-id type="integer" nil="true"></milestone-id>
  <number type="integer">1419</number>
  <permalink>massive-memory-leak-in-assettag</permalink>
  <priority type="integer">24</priority>
  <project-id type="integer">8994</project-id>
  <raw-data type="binary" nil="true" encoding="base64"></raw-data>
  <state>resolved</state>
  <tag>2.2 actionpack assets patch</tag>
  <title>MASSIVE memory leak in AssetTag</title>
  <updated-at type="datetime">2008-11-20T00:03:00+00:00</updated-at>
  <user-id type="integer">85</user-id>
  <user-name>Jeremy Kemper</user-name>
  <creator-name>aaronbatalion</creator-name>
  <assigned-user-name>Joshua Peek</assigned-user-name>
  <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
  <original-body>Every time you use a asset tag helper referencing a new asset url, references to the controller/template objects are stored in the AssetTag::Cache and never released.

If you render thousands of 3rd party images on your site, each image_tag call creates a hard reference in the AssetTag::Cache, which in turn references the controller/template, not allowing anything created in that request to leave scope, hence you have a massive memory leak.

The objects are cached b/c of filesystem access to determine the modified source string.  E.g.    &quot;foo&quot; -&gt;  &quot;/stylesheets/foo.css&quot;

The attached patch solves the issue by caching only the modified source strings, which is similar to the previous implementation, with a further optimization of caching only asset paths that are relative.</original-body>
  <latest-body>Every time you use a asset tag helper referencing a new asset url, references to the controller/template objects are stored in the AssetTag::Cache and never released.

If you render thousands of 3rd party images on your site, each image_tag call creates a hard reference in the AssetTag::Cache, which in turn references the controller/template, not allowing anything created in that request to leave scope, hence you have a massive memory leak.

The objects are cached b/c of filesystem access to determine the modified source string.  E.g.    &quot;foo&quot; -&gt;  &quot;/stylesheets/foo.css&quot;

The attached patch solves the issue by caching only the modified source strings, which is similar to the previous implementation, with a further optimization of caching only asset paths that are relative.</latest-body>
  <original-body-html>&lt;div&gt;&lt;p&gt;Every time you use a asset tag helper referencing a new asset
url, references to the controller/template objects are stored in
the AssetTag::Cache and never released.&lt;/p&gt;
&lt;p&gt;If you render thousands of 3rd party images on your site, each
image_tag call creates a hard reference in the AssetTag::Cache,
which in turn references the controller/template, not allowing
anything created in that request to leave scope, hence you have a
massive memory leak.&lt;/p&gt;
&lt;p&gt;The objects are cached b/c of filesystem access to determine the
modified source string. E.g. &quot;foo&quot; -&amp;gt; &quot;/stylesheets/foo.css&quot;&lt;/p&gt;
&lt;p&gt;The attached patch solves the issue by caching only the modified
source strings, which is similar to the previous implementation,
with a further optimization of caching only asset paths that are
relative.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  <versions type="array">
    <version type="Ticket::Version">
      <assigned-user-id type="integer" nil="true"></assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Every time you use a asset tag helper referencing a new asset url, references to the controller/template objects are stored in the AssetTag::Cache and never released.

If you render thousands of 3rd party images on your site, each image_tag call creates a hard reference in the AssetTag::Cache, which in turn references the controller/template, not allowing anything created in that request to leave scope, hence you have a massive memory leak.

The objects are cached b/c of filesystem access to determine the modified source string.  E.g.    &quot;foo&quot; -&gt;  &quot;/stylesheets/foo.css&quot;

The attached patch solves the issue by caching only the modified source strings, which is similar to the previous implementation, with a further optimization of caching only asset paths that are relative.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Every time you use a asset tag helper referencing a new asset
url, references to the controller/template objects are stored in
the AssetTag::Cache and never released.&lt;/p&gt;
&lt;p&gt;If you render thousands of 3rd party images on your site, each
image_tag call creates a hard reference in the AssetTag::Cache,
which in turn references the controller/template, not allowing
anything created in that request to leave scope, hence you have a
massive memory leak.&lt;/p&gt;
&lt;p&gt;The objects are cached b/c of filesystem access to determine the
modified source string. E.g. &quot;foo&quot; -&amp;gt; &quot;/stylesheets/foo.css&quot;&lt;/p&gt;
&lt;p&gt;The attached patch solves the issue by caching only the modified
source strings, which is similar to the previous implementation,
with a further optimization of caching only asset paths that are
relative.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-19T19:07:35+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T19:07:38+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name nil="true"></assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body></body>
      <body-html></body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-19T19:14:27+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- 
:state: new
:assigned_user: 
:milestone: 9903
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T19:14:30+00:00</updated-at>
      <user-id type="integer">85</user-id>
      <user-name>Jeremy Kemper</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body>Change looks good to me,  josh?</body>
      <body-html>&lt;div&gt;&lt;p&gt;Change looks good to me, josh?&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-19T19:17:25+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T19:17:27+00:00</updated-at>
      <user-id type="integer">141</user-id>
      <user-name>Michael Koziarski</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body>Wrote a quick blog post explaining the issue in more detail.
http://blog.hungrymachine.com/2008/11/19/are-your-mongrels-growing-to-600mb-blame-assettag

Also, I believe AssetTagCollection has the same problem, and isnt covered in my patch.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Wrote a quick blog post explaining the issue in more detail.
&lt;a href=&quot;http://blog.hungrymachine.com/2008/11/19/are-your-mongrels-growing-to-600mb-blame-assettag&quot;&gt;
http://blog.hungrymachine.com/20...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, I believe AssetTagCollection has the same problem, and
isnt covered in my patch.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-19T21:11:47+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T21:11:51+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body>Attached is an updated patch that accounts for the assettag type being included in the cache key.  Including the name of the class is better than self itself, against for hard references.

Also added a failing test that now passes.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Attached is an updated patch that accounts for the assettag type
being included in the cache key. Including the name of the class is
better than self itself, against for hard references.&lt;/p&gt;
&lt;p&gt;Also added a failing test that now passes.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-19T23:15:58+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T23:16:00+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>ah, I hate this cache. I should def look into preloading the asset folder contents on boot.</body>
      <body-html>&lt;div&gt;&lt;p&gt;ah, I hate this cache. I should def look into preloading the
asset folder contents on boot.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-19T23:22:43+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T23:22:48+00:00</updated-at>
      <user-id type="integer">424</user-id>
      <user-name>Joshua Peek</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>(from [24dbd4b9581ba2affef9e8e96570200ee1e3266c]) Fixed asset host to not cache objects [#1419 state:resolved]

Signed-off-by: Joshua Peek &lt;josh@joshpeek.com&gt;
http://github.com/rails/rails/commit/24dbd4b9581ba2affef9e8e96570200ee1e3266c</body>
      <body-html>&lt;div&gt;&lt;p&gt;(from [24dbd4b9581ba2affef9e8e96570200ee1e3266c]) Fixed asset
host to not cache objects [&lt;a href=&quot;/projects/8994/tickets/1419&quot; title=&quot;Ticket #1419&quot;&gt;#1419&lt;/a&gt; state:resolved]&lt;/p&gt;
&lt;p&gt;Signed-off-by: Joshua Peek &lt;a href=&quot;mailto:josh@joshpeek.com&quot;&gt;josh@joshpeek.com&lt;/a&gt; &lt;a href=&quot;http://github.com/rails/rails/commit/24dbd4b9581ba2affef9e8e96570200ee1e3266c&quot;&gt;
http://github.com/rails/rails/co...&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-19T23:29:11+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- 
:state: open
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>resolved</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T23:29:12+00:00</updated-at>
      <user-id type="integer">17393</user-id>
      <user-name>Repository</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>(from [d7f4921a9a852da7c1075275eaf73822edb7acff]) Fixed asset host to not cache objects [#1419 state:resolved]

Signed-off-by: Joshua Peek &lt;josh@joshpeek.com&gt;
http://github.com/rails/rails/commit/d7f4921a9a852da7c1075275eaf73822edb7acff</body>
      <body-html>&lt;div&gt;&lt;p&gt;(from [d7f4921a9a852da7c1075275eaf73822edb7acff]) Fixed asset
host to not cache objects [&lt;a href=&quot;/projects/8994/tickets/1419&quot; title=&quot;Ticket #1419&quot;&gt;#1419&lt;/a&gt; state:resolved]&lt;/p&gt;
&lt;p&gt;Signed-off-by: Joshua Peek &lt;a href=&quot;mailto:josh@joshpeek.com&quot;&gt;josh@joshpeek.com&lt;/a&gt; &lt;a href=&quot;http://github.com/rails/rails/commit/d7f4921a9a852da7c1075275eaf73822edb7acff&quot;&gt;
http://github.com/rails/rails/co...&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-19T23:29:27+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>resolved</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T23:29:28+00:00</updated-at>
      <user-id type="integer">17393</user-id>
      <user-name>Repository</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>Josh,  Please commit the 2nd patch.  I found a bug that will mix  js/css files and cache them as the same keys.  This bug is still open.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Josh, Please commit the 2nd patch. I found a bug that will mix
js/css files and cache them as the same keys. This bug is still
open.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-19T23:35:53+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>resolved</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T23:35:55+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>rebased patch committed.</body>
      <body-html>&lt;div&gt;&lt;p&gt;rebased patch committed.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-19T23:54:21+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>resolved</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-19T23:54:24+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">424</assigned-user-id>
      <attachments-count type="integer">3</attachments-count>
      <body>applied</body>
      <body-html>&lt;div&gt;&lt;p&gt;applied&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-20T00:02:55+00:00</created-at>
      <creator-id type="integer">37059</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1419</number>
      <permalink>massive-memory-leak-in-assettag</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>resolved</state>
      <tag>2.2 actionpack assets patch</tag>
      <title>MASSIVE memory leak in AssetTag</title>
      <updated-at type="datetime">2008-11-20T00:03:00+00:00</updated-at>
      <user-id type="integer">85</user-id>
      <user-name>Jeremy Kemper</user-name>
      <creator-name>aaronbatalion</creator-name>
      <assigned-user-name>Joshua Peek</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1419</url>
      <milestone-title nil="true"></milestone-title>
    </version>
  </versions>
  <attachments type="array">
    <attachment type="Attachment">
      <code>0cd57b6b6367d99fa5ecc37c961ef48bb15c375f</code>
      <content-type>text/plain</content-type>
      <created-at type="datetime">2008-11-19T19:07:35+00:00</created-at>
      <filename>stop_asset_tag_memory_leak.diff</filename>
      <height type="integer" nil="true"></height>
      <id type="integer">63764</id>
      <size type="integer">6273</size>
      <uploader-id type="integer">37059</uploader-id>
      <width type="integer" nil="true"></width>
      <url>http://rails.lighthouseapp.com/attachments/63764/stop_asset_tag_memory_leak.diff</url>
    </attachment>
    <attachment type="Attachment">
      <code>983e01a8c4d71234761d3ca5f559b1b32fe83074</code>
      <content-type>text/plain</content-type>
      <created-at type="datetime">2008-11-19T23:15:58+00:00</created-at>
      <filename>fixed_formatting_including_previously_failing_test.diff</filename>
      <height type="integer" nil="true"></height>
      <id type="integer">63864</id>
      <size type="integer">8340</size>
      <uploader-id type="integer">37059</uploader-id>
      <width type="integer" nil="true"></width>
      <url>http://rails.lighthouseapp.com/attachments/63864/fixed_formatting_including_previously_failing_test.diff</url>
    </attachment>
    <attachment type="Attachment">
      <code>6593b6eca97aa2931f0aa908ef18f3334e14d1c6</code>
      <content-type>text/plain</content-type>
      <created-at type="datetime">2008-11-19T23:54:21+00:00</created-at>
      <filename>cache_key_file_with_test.diff</filename>
      <height type="integer" nil="true"></height>
      <id type="integer">63874</id>
      <size type="integer">2066</size>
      <uploader-id type="integer">37059</uploader-id>
      <width type="integer" nil="true"></width>
      <url>http://rails.lighthouseapp.com/attachments/63874/cache_key_file_with_test.diff</url>
    </attachment>
  </attachments>
</ticket>
