• 
      

    Prevent caching of filediffs when condensing diffs.

    Review Request #5757 — Created April 30, 2014 and submitted — Latest diff uploaded

    Information

    Review Board
    release-2.0.x
    803bab6...

    Reviewers

    Some users reported running out of memory when attempting to condense
    diffs on large databases. This is caused by Django's default behavior
    of caching retrieved objects when evaluating a queryset. It'd end up
    caching all objects it'd fetch, eating up all memory.

    Using iterator() bypasses this, preventing caching and giving us the
    objects directly. It should prevent the memory issues people were
    hitting.

    Ran an upgrade successfully. Didn't have a dataset big enough to test the
    memory issues, but the Django docs lead me to believe it'll solve this.