On Tue, 8 Jan 2013 09:25:05 -0500 Whit Blauvelt <whit.gluster at transpect.com> wrote: > On Tue, Jan 08, 2013 at 02:42:49PM +0100, Stephan von Krawczynski wrote: > > > What an dead-end argument. _Nothing_ will save you in case of a split-brain. > > So then, to your mind, there's _nothing_ Gluster can do to heal after a > split brain? Some non-trivial portion of the error scenarios discussed in > this thread result from a momentary or longer split-brain situation. I'm > using "split-brain" in the broad sense of any situation where two sides of a > replicated system are out-of-touch for some period and thus get out-of-sync. > Isn't that exactly what we're discussing, how to heal from that? Sure, you > can have instances of specific files beyond algorithmic treatment. But > aren't we discussing how to ensure that the largest possible portion of the > set of files amenable to algorithmic treatment are so-handled? Really about the only thing regarding split brain (in our common sense) that is important is that you are notified that it happened at all. I would never recommend a setup to joe-average-user/admin that does real split-brain instead of tearing down every brick besides the master configured for split brain situation. There is no good way to avoid a lot of nasty problems. It is not really sufficient to tell people that _most_ of the split brain can be healed. If not all, then it is better to tear down or at least switch all but one to read-only. > > > That's the thing about complex systems. Trivial solutions are usually both > > > simple and wrong. Some work most of the time, but there are corner cases. As > > > we see with Gluster even complex solutions tend to have corner cases; but at > > > least in complex solutions the corners can be whittled down. > > > > Can they? I'd rather say if it is non-trivial it is broken most of the time. > > Ask btrfs for confirmation. > > Pointing out that a complex system can go wrong doesn't invalidate complex > systems as a class. It's well established in ecological science that more > complex natural systems are far more resiliant than simple ones. A rich, > complex local ecosystem has a higher rate of stability and survival than a > simple, poorer one. That's assuming the systems are evolved and have niches > well-fitted with organisms - that the complexity is organic, not just > random. That is a good example for excluded corner cases, just like the current split brain discussion. All I need to do to your complex natural system to invalidate is to throw a big stone on it. Ask dinosaurs for real life experience after that. People really tend to think what you think. But most of the complexity that you think might help is in fact worthless. If you did not solve the basic questions completely, then added complexity won't help. In split-brain you have to solve only one question: who is the survivor for writes? Every other problem or question is just a drawback of this unresolved issue. > Computer software, hardware, and the human culture that supports them also > form complex, evolved ecosystems. Can there be simple solutions that help > optimize such complex systems? Sure. But to look only for simple solutions > is to be like the proverbial drunk looking for his keys under the > streetlight, even though he heard them drop a half-block away, because "The > light is better here." When people try to apply simple solutions to complex, > evolved ecosystems, the "law of unintended consequences" is more the rule > than the exception. Solutions that appear simple and obvious should always > be suspect. Granted, complex, obscure ones also require scrutiny. It's just, > the simple stuff should never get a pass. Where's the guy that said "keep it simple" ? ;-) > Best, > Whit -- Regards, Stephan