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

Reply via email to