Andreas, et. al.:

On Wed, Apr 30, 2025 at 4:17 AM Andreas Stieger <andreas.stie...@gmx.de>
wrote:

>
> On 2025-04-29 18:53, LWChris wrote:
> > Therefore we suspect it was some kind of caching issue in the SVN
> > server (WANdisco) due to same path same UUID same commit number; after
> > restarting the SVN server, the issue went away. But I don't know if
> > WANdisco is a "typical server implementation", or if the issue was
> > something deeper, or if the issues are related at all or pure
> > coincidence, etc.
>
> WANdisco is not a typical Subversion server implementation. For
> synchronous multi-site replication (as opposed to svn sync which is
> asynchronous), it provides a proxy layer with a consensus protocol
> (think PAXOS, wsrep, raft). Notable the replication requires the
> representation of candidate transaction into a serialzied format that.
> It is conceivable that non-unique UUIDs may cause hick-ups, but I would
> not exclude the possibility that this is also a general problem of plain
> svn.
>

First, there are 2 flavors of WANdisco Subversion bits:

    1. "vanilla"
    2. "replicated"

The "vanilla" are exactly the unmodified Apache Subversion source
distribution compiled up, tested and packaged for each supported
OS flavor.  They are distributed free of charge to anyone and
everyone.  See here [0].

The "replicated" are EXACTLY a typical Subversion server implementation
up until the point of the actual transaction commit execution.
Nearly everything else is identical.  Specifically, the READ-ONLY
side of the server is COMPLETELY IDENTICAL to typical Subversion.
That includes ALL of the Apache caching.  Nothing that we do touches
the read-path - that was a critical part of the design principle.

In terms of the WANdisco "WRITE PATH", there are the normal Subversion
repo-UUIDs for the repos, but they play an almost negligible part
in the update process.  Each repository is associated with its own
"distributed state machine" (DSM) that has its own UUID (never
repeated) and it is that DSM that is specifically tasked making the
updates occur.  Many of our customers have a LOT of non-unique
repository UUIDs and I have never seen a single hiccup due to that
sort of issue from the perspective of repository updates.

I have not yet seen in this discussion any disclosure of the version
of Subversion nor Apache.  Could that information be added to the
conversation?  It makes a difference since in earlier versions of
Subversion there was only a single UUID for each repository; now
there are 2.  Part of that, IIRC, was to enable some better cache
invalidation so that {path,repo-UUID} was not the only distinguishing
factor since it was causing confusion in the long-lived Apache
process (I'm sure someone will correct me if I'm wrong).  So the
answer of "path-only" or "{path,repo-UUID}" or
"{path,repo-UUID,repo-UUID2}" is likely dependent on the version
of Subversion (or at least some of the conversations I've read in
the past have made it seem that way).

All of that said, the use case that was enumerated previously is
definitely broken in terms of Subversion itself (nothing to do with
WANdisco).  By creating the same repository on-disk in the same
path using the same repo-UUID and then populating it with even
remotely similar contents will definitely cause the Apache cache
to be confused.  The same thing will happen if you ever restore a
repository from backup.  When those types of operations occur you
must restart Apache in order to clear its cache.

Finally, to prevent any confusion going forward, WANdisco changed
its company name to Cirata in 2024.

Cheers.

Doug

[0] https://cirata.com/resources/support/subversion-binaries
-- 
*Doug Robinson*  Senior Product Manager
P +1 925 396 1125
*E* doug.robin...@cirata.com

-- 





THIS MESSAGE AND ANY ATTACHMENTS ARE CONFIDENTIAL, PROPRIETARY AND MAY 
BE PRIVILEGED


If this message was misdirected, Cirata Ltd. and its 
subsidiaries, ("Cirata") does not waive any confidentiality or privilege. 
If you are not the intended recipient, please notify us immediately and 
destroy the message without disclosing its contents to anyone. Any 
distribution, use or copying of this email or the information it contains 
by other than an intended recipient is unauthorized. The views and opinions 
expressed in this email message are the author's own and may not reflect 
the views and opinions of Cirata, unless the author is authorized by Cirata 
to express such views or opinions on its behalf. All email sent to or from 
this address is subject to electronic storage and review by Cirata. 
Although Cirata operates anti-virus programs, it does not accept 
responsibility for any damage whatsoever caused by viruses being passed.

Reply via email to