DragonFly users List (threaded) for 2008-07
Re: Hammer on-the-move
:I think it shouldn't be too hard to switch a hammer master into a slave
:and a slave to a master, isn't it?
:Many years ago I really hoped that what I descibed above would work out
:well using the Coda File System. Then came hammer... :)
You don't have to convince me :-) I want to be able to do that to
implement fail-over support.
I restricted those options a few days ago (its basically just two lines
of code in the HAMMER user utility) and I haven't decided whether
to unrestrict them for the release or not. The main reason is to
prevent early adopters of HAMMER from shooting themselves in the foot
because we do *NOT* have multi-master support yet and trying to
cross-mirror two masters can blow up a filesystem faster then chocolate
melts on a hot day. The mirroring occurs at the B-Tree record level
and has no concept of high level filesystem topology.
To do multi-master merging support the mirroring program needs to be
made a lot smarter. The low level structures *CAN* already identify
which master made a modification (the low 4 bits of the transaction id
will identify which master made the change, as long as every master
is given a different master id). But the mirroring program does not
yet use that information to resolve conflicts between masters when
you want to merge their data sets into a single coherent whole.
We are right on cusp of being able to do this but I am awfully worried
that enabling the feature in the release, before all the support
is in place, will cause too many user-support headaches and foot-shooting.
Maybe what I should do is allow slaves to be upgraded to masters but
put all sorts of 'are you really really really sure' warnings in if
someone tries to downgrade a master into a slave. Either way I will
not allow the mirroring program to mirror between two masters, so
you'd have to downgrade a master into a slave first. With the proviso
that merging two master data sets where BOTH may have been independantly
modified is strictly off limits, I could allow it for the release.