Re: Revprop caching 'n stuff
From: Markus Schaber <m.schaber_at_3s-software.com>
Date: Fri, 9 Mar 2012 10:07:12 +0000
Von: Stefan Fuhrmann [mailto:eqfox_at_web.de]
>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.
One possible scheme would involve a unique machine token (random GUID or IP-Address or whatever) which is placed both in the shared memory area and a token file in the working copy. Something like the following steps could be done by each process on the first access of a repository:
- Initialize the shared memory area.
- Try to get a shared, read-only lock on the token file in the working copy.
- If your shared, read-only lock attempt failed:
- If your shared, read-only lock attempt is successful:
The key is that, after the initialization process above, the processes keep the shared read-only lock on the token file as long as they have any cached data on that repository. Collisions on the same machine are handled via the shared memory, and processes from other machines are locked out via the token file.
> 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.
Ah, if the symptoms are of that transient nature, I think it is probably not worth the effort.
> 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.
-- ___________________________ We software Automation. 3S-Smart Software Solutions GmbH Markus Schaber | Developer Memminger Str. 151 | 87439 Kempten | Germany | Tel. +49-831-54031-0 | Fax +49-831-54031-50 Email: email@example.com | Web: http://www.3s-software.com CoDeSys internet forum: http://forum.3s-software.com Download CoDeSys sample projects: http://www.3s-software.com/index.shtml?sample_projects Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915Received on 2012-03-09 11:07:48 CET
This is an archived mail posted to the Subversion Dev mailing list.