Re: A question about journal creation

Klaus Wuestefeld <[email protected]> Fri, 26 Jul 2013 12:58:47 -0300
Newsgroups gmane.comp.java.prevayler
Message-ID <CAMAooZEEyruAM_vV-MmufZieb3KpSt6dBkDNx0Ox2WLUg=fRWw@mail.gmail.com>
:D
On Jul 26, 2013 11:57 AM, "Paul Bennett" <[email protected]> wrote:

> Klaus, that should work well. Thanks for a much simpler solution.
>
> -pb
>
> On Jul 25, 2013, at 2:58 PM, Klaus Wuestefeld <[email protected]> wrote:
>
> > Since closing the prevalent system and restarting it is a cost you are
> > willing to pay, if you do that before executing the transaction group,
> > a new journal will be created,
> >
> > On Thu, Jul 25, 2013 at 2:15 PM, Paul Bennett <[email protected]>
> wrote:
> >> We have a situation where we would like to run a group of transactions,
> and
> >> be able to undo them as a group. We could define inverses on the
> >> transactions and re-run, but this is complicated. In the context in
> which
> >> they run, there would only be a single user on the system (an
> >> administrator). The system would leave the single-user context with
> either
> >> the group executed as normal, or not executed at all. There would be no
> >> other transactions executing on the system while this group is executed
> and
> >> possibly undone.
> >>
> >> Given these constraints, we think there is a simple implementation:
> simply
> >> remove from the journal those transactions that need to be undone. We
> would
> >> do this by taking a snapshot before the transactions are executed,
> starting
> >> a new journal, and executing the transactions. Then, to undo, we simply
> >> remove that new journal file, and reload the last snapshot.
> >>
> >> So:
> >>
> >> 1) Does this sound like a plausible solution? Have we missed something
> that
> >> makes this unworkable?
> >>
> >> 2) The only thing missing from this to be done is the ability to control
> >> explicitly the transaction boundaries on which a journal is created i.e.
> >> there is no equivalent of takeSnapshot() for starting a new journal.
> >> Obviously this has to be synced with execution and journal sync, so we
> would
> >> propose to implement this by adding a boolean to the
> execute(Transaction t)
> >> method, which would ultimately add a flag to TransactionCapsule,
> indicating
> >> it should explicitly start a new journal before serialization - similar
> to
> >> the test in PersistentJournal#append using the
> isOutputJournalStillValid()
> >> method.
> >>
> >> Does this sound like a good/viable solution?
> >>
> >> Any comments/alternative ideas would be most welcome!
> >>
> >> Thanks in advance,
> >>
> >> -pb
> >>
> >>
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> See everything from the browser to the database with AppDynamics
> >> Get end-to-end visibility with application monitoring from AppDynamics
> >> Isolate bottlenecks and diagnose root cause in seconds.
> >> Start your free trial of AppDynamics Pro today!
> >>
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> >> _______________________________________________
> >> To unsubscribe go to the end of this page:
> >> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion
> >> _______________________________________________
> >> "Databases in Memoriam" -- http://www.prevayler.org
> >>
> >
> >
> >
> > --
> > Valeu, Klaus.
> >
> >
> ------------------------------------------------------------------------------
> > See everything from the browser to the database with AppDynamics
> > Get end-to-end visibility with application monitoring from AppDynamics
> > Isolate bottlenecks and diagnose root cause in seconds.
> > Start your free trial of AppDynamics Pro today!
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> > _______________________________________________
> > To unsubscribe go to the end of this page:
> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion
> > _______________________________________________
> > "Databases in Memoriam" -- http://www.prevayler.org
>
>
>
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> _______________________________________________
> To unsubscribe go to the end of this page:
> http://lists.sourceforge.net/lists/listinfo/prevayler-discussion
> _______________________________________________
> "Databases in Memoriam" -- http://www.prevayler.org
>

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

_______________________________________________
To unsubscribe go to the end of this page: http://lists.sourceforge.net/lists/listinfo/prevayler-discussion
_______________________________________________
"Databases in Memoriam" -- http://www.prevayler.org