#5094 Don't build CommitRunDocs for SVN repos

v1.0.0
closed
General
2015-08-20
2012-10-09
Cory Johns
No

In [#5046], it was discovered that one of the sources of slow queries against the repo_commitrun table was getmore operations against very large CommitRunDoc records, which are almost entirely from SVN repos.

SVN commit histories are entirely linear, so the entire history ends up in a single CommitRunDoc. This is slow and pointless.

Modify the SVN implementation to not create or use CommitRunDocs, instead leveraging the fact that the histories are inherently linear.

Related

Tickets: #5046

Discussion

  • Dave Brondsema

    Dave Brondsema - 2012-10-10
    • labels: --> performance
     
  • Dave Brondsema

    Dave Brondsema - 2012-10-11

    An alternate approach to alleviating the affect of these slow queries is to force them to run from a slave. That will prevent them from holding up other queries on the master. However, slaves may be slightly out of date, so we need to make sure we don't introduce race conditions or conflicts/clobberings.

     
  • Cory Johns

    Cory Johns - 2012-10-12
    • milestone: forge-backlog --> forge-oct-19
     
  • Cory Johns

    Cory Johns - 2012-10-15

    allura:cj/5094

     
  • Cory Johns

    Cory Johns - 2012-10-15
    • status: open --> code-review
    • assigned_to: Cory Johns
    • qa: Dave Brondsema
    • size: --> 2
     
  • Dave Brondsema

    Dave Brondsema - 2012-10-15
    • status: code-review --> closed
     
  • Dave Brondsema

    Dave Brondsema - 2012-10-15

    SVN log page needs to be faster for large repos

     
  • Dave Brondsema

    Dave Brondsema - 2012-10-15
    • status: closed --> in-progress
     
  • Cory Johns

    Cory Johns - 2012-10-16
    • status: in-progress --> code-review
     
  • Cory Johns

    Cory Johns - 2012-10-16

    allura:cj/5094

    Paging wasn't being applied correctly when generating the commit history for any type of repo.

    Easiest way to test is on a sandbox with an up-to-date copy of production mongo; you can use cjohns-6049 if you like.

     
  • Dave Brondsema

    Dave Brondsema - 2012-10-16
    • status: code-review --> closed
     
  • Dave Brondsema

    Dave Brondsema - 2012-10-19
    • labels: --> performance
     

Log in to post a comment.