Sage Weil wrote:I'm doing it on a 2000 node system across a country. There are so many links down at any given time, we have to handle long stretches of inconsistency, and have strategies for merging local changes when possible to reduce manual overhead. But we like opportunistic consistency so that people at site A can phone people at site B and view/change the same things in real time if a path between them is up and fast enough (great for support and demos), otherwise their actions are queued or refused depending on policy. It makes sense to configure which data and/or operations require global consistency or block, and which data it's ok to modify locally and merge automatically in a netsplit scenario. Think DVCS during splits and coherent when possible. E.g. as a filesystem, during netsplits you might configure the system to allow changes to /home/* locally if global coherency is down. If all changes (or generally, transaction traces) to /home/user1 are in just one coherent subgroup, on recovery they can be distributed silently to the others, unaffected by changes to /home/user2 elsewhere. But if multiple separated coherent subgroups all change /home/user1, recovery might be configured to flag them as conflicts, queue them for manual inspection, and maybe have a policy for the values used until a person gets involved. Or instead of paths you might distinguish on user ids, or by explicit flags in requests (you should really allow that anyway). Or by tracing causal relationships requiring programs to follow some rules (see "virtual synchrony"; the rule is "don't depend on hidden communications"). That's a policy choice, but in some systems, typically those with many nodes and fluctuating communications, it's really worth it. It increases some kinds of robustness, at cost of others. -- Jamie --
| Goswin von Brederlow | Re: [00/41] Large Blocksize Support V7 (adds memmap support) |
| Andrew Morton | 2.6.23-rc4-mm1 |
| Pavel Machek | iwl3945 in 2.6.24-rc1 dies under load |
| Serge E. Hallyn | Re: LSM conversion to static interface |
git: | |
| Johan Herland | [PATCH 0/6] Refactor the tag object |
| Johan De Messemaeker | Re: People unaware of the importance of "git gc"? |
| Mark Levedahl | autoCRLF, git status, git-gui, what is the desired behavior? |
| Dan Farina | backup or mirror a repository |
| Mark Reitblatt | US Export of Cryptography |
| Richard Stallman | Real men don't attack straw men |
| Sam Fourman Jr. | Asus Striker Extreme does not support 4GB memory |
| Sunnz | How do I configure sendmail? |
| Patrick McHardy | pkt_sched: add DRR scheduler |
| jamal | [PATCH 2/3][NET_BATCH] net core use batching |
| Evgeniy Polyakov | [resend take 2 0/4] Distributed storage. |
| Julius Volz | Adding SNAT support to LVS/NAT |
