On Tue, Jun 9, 2009 at 11:01 AM, Thomas Müller <[email protected]> wrote: > Hi, > >> lets say you have a disk crash and you must restore the index folder but it >> was backed up a day before. >> to get a consistent state with the data you must re-index the whole >> workspace. > > Probably my original mail was unclear. I repeat: "One solution is to > use clustering. One cluster node (the 'master') is used for regular > requests, while the other (the 'backup') is used for backup. The > master node continuously runs, while the backup node is stopped from > time to time to create a backup." In that case the Lucene index in the > backup is consistent. After a crash, you restore the backup. Like > that, you don't have an inconsistent index.
We use exactly such a solution with some success. The problem I see with this solution apart from the obvious extra resources you will need, is that you also have to backup the database at 'about the same time'. It just feels like a big workaround and you never feel really sure you've got 'everything'... If we could have some kind of 'flush everything to disk/database/index and hold a write lock until further notice' method and a 'please continue as normal' method that could be called remotely somehow it would make creating consistent backups much easier: - issue 'flush and hold' - use your favorite backup method, rsync, scp, db dumps, etc. - issue 'continue' Any thoughts if such a thing would be possible? If so, I could help to implement this. Regards, Bart -- Hippo B.V. - Amsterdam Oosteinde 11, 1017 WT, Amsterdam, +31(0)20-5224466 Hippo USA Inc. - San Francisco 101 H Street, Suite Q, Petaluma CA, 94952-3329, +1 (707) 773-4646 ----------------------------------------------------------------- http://www.onehippo.com - [email protected] -----------------------------------------------------------------
