Re: A question about journal creation

Paul Bennett <[email protected]> Fri, 26 Jul 2013 10:57:01 -0400
Newsgroups gmane.comp.java.prevayler
Message-ID <[email protected]>
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