[Ur] Generalizing transactions

Karn Kallio tierpluspluslists at gmail.com
Wed Dec 1 08:40:35 EST 2010


> Excerpts from Karn Kallio's message of Tue Nov 30 16:24:43 +0100 2010:
> > Adam, now that somebody ( Marc Weber ) is working on an application (
> > payment gateway ) where the transaction model of Ur/Web does not cleanly
> > apply, is there a chance of you generalizing Ur/Web transactions in a
> > safe, principled way ( that allows representing the semantics of the
> > application's effectful operations within Ur/Web )?  For example, I
> > think that the problem of leaving a permanent record of an event ( e.g.
> > receiving an order and not removing it on failure rollback ) could be
> > handled with a SAGA that has a null compensation for the process of
> > writing the record.
> 
> Karn Kallio: I don't know yet whether I'm going to implement them all -
> or writing some interfaces to reuse existing code.
> 
> SAGA? Wikipedia is refering to:
>   * SAGA (computing), a Simple API for Grid Applications
>   * SAGA GIS, a geographic information system
> 
> Do you talk about any of these two?
> 
> 

I meant these : http://lanl.arxiv.org/abs/1010.5569

> The manual says:
> "context is the type of state that persists across handling a client
> request"
> 
> So it looks like I can use uw_(set,get)_global and uw_malloc to keep
> caches.
> 
> I can use the uw_set_global rollback / commit handler to set a flag to
> "succeeded" or "failed" in the data structure.
> I know that the free handler will be called after the request finished
> (giving up (fatal error) or suceeding). The flag will tell me whether I
> have to trace a failure in a logfile.
> 
> Do you want users to print to stderr for logging - or do you want to
> introduce a logging function which also adds time stamps etc? (good idea
> IMHO) - Does it already exist?
> 
> Marc Weber



More information about the Ur mailing list