On 08.03.2012 08:54, Markus Schaber wrote:
> On 08.03.2012 02:13, Bert Huijben wrote:
>>>> And this shared mem approach will work with both threaded as well as
>>>> multi-process servers?
>>>> If so, this sounds like a good plan to me.
>>> This still assumes that the repository is only used by a single
>>> machine, while using NFS paths with multiple servers is not uncommon.
>>> (I heard from a few of those setups on users_at_s.a.o)
>> That is correct. Those users will not be able to use revprop caching. And this is one of the reasons why it will need to be activated explicitly.
> Is it possible some mechanism to auto-detect access from a different machine and error out? Or do we risk silent corruption in cases of misconfiguration?
That is a false dichotomy ;)
No, IMHO, we don't have a way to detect whether
servers on different machines write to the same
data. Maybe we could write one (e.g. "tagging"
an open repository with the server's IP address)
but I'm not sure how reliable that would be.
Concerning the "corruption": The server will never
cause wrong data to be stored but at worst will
deliver outdated revprops. It is a transient issue.
One way to cure it is to restart the server process.
Another way is also possible but has not been
implemented yet. There is a general request to
make the caches listen to signals, e.g. to clear
all caches if the server process receives SIG2.
Call that at regular intervals and your machine
will behave like a proxy does today: it only gives
you a guarantee on the maximum out-of-dateness.
Received on 2012-03-09 10:41:54 CET