I see one issue with this approach. If we get rid of "locking" then some transactions occur reordered in journal files. So simple backuping of journal files can be dangerous. Imagine the case when two transactions are reordered and got into different files:
1.journal: (tr1) ;1 (tr3) ;3 4.journal: (tr4) ;4 (tr2) ;2 So additional script is needed to backup inactive (closed) journal files into a safe set of transactions. What do you think? Is it worth to complicate things this way? On Sat, Dec 5, 2009 at 9:12 PM, Sergey Didenko <sergey.dide...@gmail.com>wrote: > Nice idea, Luc! > > Useful details, Jon. > > So I'm implementing "(dosync (let [ tr-id (swap! tr-atom inc)] > (transaction-itself) " and then loading transactions in their tr-id's order > in the next release. > > Probably with some floating "window" of postponed transactions in order not > to load all the transactions into memory at once. > > Does anybody have reasons in mind why this approach can fail? > > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en