[Gluster-devel] trusted.glusterfs.version xattr

Kevan Benson kbenson at a-1networks.com
Tue May 6 22:38:41 UTC 2008


Gordan Bobic wrote:
> I suspect this isn't a problem that can be solved without having a 
> proper journal of metadata per directory, so that upon connection, the 
> whole journal can be replayed.
> 
> You could sort of bodge it and use timestamps as the primary version and 
> the xattr version as secondary, bit that is no less dangerous - it only 
> takes one machine to be out of sync, and we are again looking at massive 
> scope for data loss.
> 
> You could bodge the bodge further to work around this by ensuring that 
> the nodes are heartbeating current times to sync between them and 
> without the sync no data exchange takes place. But that then complicates 
> things because what do you do when a node connects and is out of sync, 
> but in the future? Who wins on time sync? Who has the latest 
> authoritative copy?
> 
> I think the most sane way of addressing this is to have a fully logged 
> directory metadata journal. But then we are back to the journalling for 
> fast updates issue with a journal shadow volume, which is non-trivial to 
> implement.
> 
> Unless there is some kind of a major mitigating circumstance, it seems 
> that between this and the race condition that Martin is talking about on 
> the other thread, GlusterFS in it's current is just too dangerous to use 
> in most environments that I can think of. And unlike Gareth a few days 
> ago, I'm not talking about performance issues - I'm talking about scope 
> for data loss in very valid and very common use cases. :'(

Hmm, what about trusted.glusterfs.createtime (epoch time) as a major 
version number, and trusted.glusterfs.version as the minor version 
number.  Couple that with a glusterfs master time node (defaults to lock 
node) and you should have a fairly consistent cluster, right?

I seem to remember toying with this idea a few months ago on this list, 
for a different problem.  I can't recall whether it was shot full of 
holes at that time (and I guess I'm too lazy to search the archives 
before posting ;)

-- 

-Kevan Benson
-A-1 Networks





More information about the Gluster-devel mailing list