[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