2.3 Replication and lost Hardlinks
rpope at jadeworld.com
Thu Mar 30 16:37:57 EST 2006
It would appear from my testing of the new 2.3 Replication code, that you
lose any 'SingleInstanceStore' benefits on the replica as hardlinks on the
master cannot be reproduced on the replica.
In my situation, I often have large emails sent to multiple recipients on
the same server and I am relying on hardlinks to keep my disk usage down.
In addition, I also have a small pipe between my master and my replica and
any large emails sent to hundreds of users gets copied over the link
hundreds times rather that the single delivery done by LMTP.
I was thinking that maybe one way to solve this might be to have Cyrus to
keep it's own DB of hardlinked Messages and then it could send a replication
message that effectively resolves to "If you don't have message user.xxxx
'nnnn', see if you can create it by hardlinking to one of the following
messages 'user.foo nnnn,user.bar.Filed nnnn' (if the message hash is the
same), otherwise I will send you a copy".
Then when you subsequently replicate "user.bar.Filed nnnnn", you should be
able to link the message in from the copy you replicated to 'user.xxxx'.
It would obviously be a little more complicated to deal with some corner
cases, but what are people's thoughts?
Is it worth trying to build something like this?
Do any others on the list make heavy use of hardlinking who would be
adversely effected by the current replication methodology?
More information about the Info-cyrus