Mark Phippard created SVN-4761:
----------------------------------

             Summary: Better support for update via DAV proxy when repository 
is out of date
                 Key: SVN-4761
                 URL: https://issues.apache.org/jira/browse/SVN-4761
             Project: Subversion
          Issue Type: New Feature
          Components: mod_dav_svn
            Reporter: Mark Phippard


This feature request is about improving the behavior of update when working in 
a write-thru proxy environment and the replica server is out of date.  The 
specific scenario is you have a client that is configured to use a replica 
server.  It does a commit which proxies back to the master which bumps the 
revision.  So the client working copy now knows about this new revision.  If 
the client run svn update it will fail until the replica has synced the new 
commit.  This makes it difficult to write automated scripts that are being used 
with a replica, something fairly common with CI servers where they may be 
configured to use a replica to offload work from the master.

 

In SVN-4021 work was done to improve the error message in this scenario, and 
AFAIK that still works provided the server and client are on 1.8+  The request 
is to consider ways to make this not be an error and actually work.  A couple 
possibilities:
 # When the server detects this scenario, what if instead of issuing the error 
it figured out a way to proxy the request back to the master?  The master could 
service the request successfully which would be better than providing an error.
 # Seemingly more difficult, but what a lot of users ask for is to have the 
replica force a sync to happen when it receives this request.  This is likely 
not practical for a number of reasons but it is worth recording it here in the 
request.  What they envision is the server would recognize the scenario, force 
a sync to happen and then service the update.  Assuming this were somehow 
possible, which I do not believe it is, I would have to assume in most cases 
the client would timeout before the server had a chance to finish all of this.

Option 1 seems at least somewhat possible. I have vague recollections this was 
discussed in the past and the feeling was that by the time SVN recognizes the 
error situation we are beyond the point in the request cycle where we can proxy 
it.  Maybe this is not true though and could be reexamined?

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to