Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-1161

ra_dav makes too many requests

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • all
    • 1.7.0
    • libsvn_ra_neon

    Description

      ra_dav is making too many requests to the server. Typically, this is
      in the form of too many PROPFIND requests.
      
      Specific examples:
      
      * when adding a file, we do a PROPFIND to ensure that it doesn't
      already exist. We should skip the PROPFIND and just do the PUT, but
      use an 'If-None-Match: *' header to reject the PUT if something
      already exists.
      
      * 'svn cat' executes the triple PROPFIND (from public URL to VCC to
      baseline to fetching some props) *four* times. That is: 12 PROPFIND
      requests. Even worse, it does this even for 'svn cat' when
      (presumably) run against the "head", which means it should have just
      stuck with the public url.
      
      * (iirc; I haven't checked this one in a long while, but presume it is
      still there) during a fetch, we PROPFIND on the directory to get its
      props and the props of all the files in it. But we do per-file
      PROPFINDs *again* as we're getting the files. We should have already
      had a hash of resources whcih contains the props -- no need to fetch
      again.
      
      * during a commit, we do PROPFINDs to get the version url of the
      directories so we can do a CHECKOUT on them (cuz we're adding or
      deleting resources in it). however, the WC already *has* that version
      url, but won't give it to us in the getprop callback. thus, the commit
      editor has to get the url from the server.
      
      These are just the ones that I know. A number of different types of
      operations should be performed, and a review of Apache's access_log
      can be done to see what the client actually requested for each operation.
      

      Attachments

        1. 1_issue-1161-cache.txt
          10 kB
          C. Michael Pilato

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gstein Greg Stein
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: