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

Consider sending per-directory, depth:1 PROPFINDs during ra_serf update handling

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.7.x
    • 1.8.0
    • libsvn_ra_serf
    • None

    Description

      This idea is forked from issue #4173.
      
      The general complaint was that, when performing a checkout or any update
      operation which is adding new nodes, pre-1.8 ra_serf would turnaround with a
      server PROPFIND to fetch the properties on the new nodes.  For a checkout, this
      meant issuing a PROPFIND per node in the tree.  It was suggested that perhaps
      the client could issue a Depth:1 PROPFIND for each directory instead, caching
      the results on the client-side so that the properties retrieved for immediate
      children of the directory wouldn't have to be separately fetched.
      
      Note that, per issue #4173, ra_serf in 1.8 will no longer issue PROPFINDs at all
      against a 1.8 server.  So this optimization would only make sense when
      communicating against and older server.
      
      Note also that this optimization is not without its costs, both in terms of code
      complexity and, oddly enough, real inefficiency in situations where the set of
      added items is small, but the PROPFINDs needed to fill in the details for those
      things are quite large (say, a single added file within a directory that has
      hundreds of heavily-propertied sibling files).
      

      Attachments

        Activity

          People

            gstein Greg Stein
            cmpilato C. Michael Pilato
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: