jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ts...@ifilm.com
Subject RE: diff between Remote Cache and Lateral TCP Cache
Date Mon, 21 Jun 2004 18:24:51 GMT
>It would be so much better if, in the majority of the use cases, JCS
could provide not only SPEED but also CONSISTENCY among caches without
compromising speed.

Good luck!

To do this you'de need to define a transaction scope(!!!), and remove the
asynchronus event queues, and it will STILL be a layer top of JCS.  You
NEED the concept of lock(key)/unlock(key) in order to provide consistency.
Nothing short of that will buy you anything. Simply allowing JCS to do the
locking/unlocking at the begining/end of gets/puts/removes is completely
insufficent to ensure consistency, no matter how you slice it, and will
only slow things down without providing any benifit.

The problem really -isn't- with JCS, or it's distributed (or local for
that matter) cache implememtations. It's with how you use it. Presently
the distributed caches are optimized for performance by using EventQueues
so distributed events happen asynchronusly. Removing thoes event queues
won't solve the problem, and will degrade percieved performance. Only the
combonation of removing the EventQueues AND the addition of application
scope key locking (NOT cache operation scope key locking) will solve this

How one would supply these services without degrading preformance I don't
know, but it's a mute point in the scope of a "JCS change" because it's
not JCS that needs or can benifit from the change, no matter how
desireable it might seem to put it there.

If there's enough interest, such a project is definately doable, but it's
not anywhere on my priority list simply because it's not really 'part' of
JCS. In all cases, it sits a layer above because you have to define a
transaction scope which is unrelated to any existing JCS services.

As for changing the name of LateralCache to LateralIndex, it's called a
'Cache' because it implements the appropiate Cache interface, and is
installed and configured like any other aux cache. The service it provides
is that of the Lateral Index, but it itself remains a Cache for all
intents and purposes. I'll leave the name refactoring decision up to
Aaron. Perhaps LateralIndexCache?

-Travis Savo <tsavo@ifilm.com>

To unsubscribe, e-mail: turbine-jcs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-jcs-user-help@jakarta.apache.org

View raw message