[jbosscache-dev] ReversibleCommands and locking schemes
Brian Stansberry
brian.stansberry at redhat.com
Fri Jun 27 09:53:34 EDT 2008
I'd say separate it out. You might have to live with PL for a long
time, and refactoring it later when 3.x is stable/people depend on it is
more problematic. Seems like now (or before the first 3.0.0.CR) is a
better time to do this kind of stuff.
Manik Surtani wrote:
> A sub-interface of Command is ReversibleCommand, which exposes a
> rollback() method. The purpose of this method is that for commands that
> change the state of the cache, the command also maintains information on
> how to undo it's change, and the undo operation is invoked by calling
> rollback() on the command. A nice, clean way of encapsulating a change
> and it's reversal.
>
> Now this only made sense for pessimistic locking, where changes are made
> directly on the cache. With optimistic locking, changes are made in a
> workspace and a rollback is performed by simply throwing away the
> workspace. MVCC is similar in this regard, where changes are made to a
> copy of the node, and a rollback is performed by throwing away this new
> node.
>
> So, is rollback() (and the ReversibleCommand interface) tied to
> pessimistic locking only? And if so, that is a lot of overhead each
> command stores for the sake of a single locking scheme (especially when
> those commands are used with Optimistic Locking or MVCC). Should we
> introduce another set of commands, subclasses to the actual commands
> themselves, implementing rollback, such that they are used for
> pessimistic locking, while leaner commands without rollback can be used
> for the other locking schemes? Or should we just "live with" this
> overhead until MVCC stabilises and we deprecate/remove pessimistic and
> optimistic locking altogether?
>
> Thoughts?
> --
> Manik Surtani
> Lead, JBoss Cache
> manik at jboss.org
>
>
>
>
>
>
> _______________________________________________
> jbosscache-dev mailing list
> jbosscache-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosscache-dev
--
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry at redhat.com
More information about the jbosscache-dev
mailing list