"That should prevent phantom reads, shouldn't it?" -- Sorry, I meant dirty
reads. The way we're using the cache makes phantom reads not a problem. And
read committed prevents dirty reads. So I think we're in good shape--I have a
single-data-item-per-node version of the cache up and running now a
How does one go about adding a single data item to a node? Do we have to
provide a key at all in that case, or can we just call put(fqn, the data item)?
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4221397#4221397
Reply to the post :
http://www.jboss.org/in
Thank you for the quick reply. Two followup questions (one from the original
post):
- "if all of the data in a node ages out of the cache due to LRU, is the data
removed from the cache and the node left in place, or is the node also removed"?
- "but you do introduce the possibility of phantom r
After porting to 3.0.0.GA and putForExternalRead, it turned out we hadn't read
the fine print, which says nothing happens if the node is already there (not
the data itself--the node containing the data--we had misread the Javadocs).
Because we have more than one piece of data stored in a node, t
I asked jboss support, and they said: "Yes, if multiple threads hit the same
data at the same time they would each get a null and read from the database.
To prevent this, you\'d need to use SERIALIZABLE isolation. But it does not
scale, so unless you do have nodes hitting the same data at the
We have this code based on what's in the documentation, in order to get our
cache (deployed using the jmx microcontainer) and return it to our application
code:
final MBeanServer server = MBeanServerLocator.locateJBoss();
final ObjectName objectName = new ObjectName(sCacheName);
@SuppressWarning
When we delete some special data, we mark it deleted instead of deleting it
right away, and then we put the now-marked-deleted data in the cache, which
replicates it across the cluster.
When clients read this special data from the cache, they see that it's deleted
and can act accordingly (filte
We have code that looks like this:
Data getSomeData(key)
{
Data theData = theCache.get(node, key);
if (theData == null)
{
theData = read the data from database
theCache.putForExternalRead(node, key, the data from database);
return theData;
}
Now suppose we have a bunch of threads that hit getSo
Or is this question moot if we port to 2.x and call putForExternalRead for the
local puts we don't want to notify other caches about?
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4214031#4214031
Reply to the post :
http://www.jboss.org/index.html?module=bb&
Is there a way to tell the cache to only send notifications for certain
operations, period?
We were able to turn cacheModeLocal on and off as needed based on whether an
operation was supposed to notify other caches in a cluster, and on whether the
cache is in a cluster.
But now we have a new p
Interesting--that would allow us to decouple our use of the cache from our
dependencies in the data center. However, it looks like that would require
introducing our own config file for our cache, and double cache configuration
on each node in the cluster. Or am I reading the docs incorrectly?
Okay, I found the docs. I've ported our code. Now we need to deploy it into
production, which is using Jboss 4.3.CP02 (and not easily changed). Will we be
able to do that, or are the versions too different to be compatible?
View the original post :
http://www.jboss.org/index.html?module=bb&op=v
By making the cache have , does that mean for every different pair of K
and V we need to create a different cache?
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4212725#4212725
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=rep
4) Removed getCacheModeInternal().
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4212722#4212722
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4212722
___
jboss-user mailing l
Can we even use the 2.0 version of the cache in Jboss 4.3.CP02?
Would it be simpler for us to take the source code and implement our own
putForExternalRead locally, or did you make fundamental changes to the
implementation in order to add this method? If it's just a matter of setting
the timeou
(I know there are updated Javadocs--by updated documentation, I mean are there
2.0 versions of:
http://www.jboss.org/file-access/default/members/jbosscache/freezone/docs/1.4.1.SP4/TreeCache/en/html/index.html
http://www.jboss.org/jbosscache/docs/1.4.0/faq/en/html/index.html
?)
View the origina
Hoo boy--you guys have been busy making 2.0 non backward compatible with 1.*.
For example:
1) Renamed TreeCache to Cache, or in some other way gotten rid of TreeCache.
2) Changed Cache to Cache.
3) Changed Fqn to Fqn.
Is there updated documentation?
View the original post :
http://www.jboss
Yesterday that link didn't work, but today it does. I've read the discussion of
pFER. It looks like it was designed to do exactly what we need. Thank you very
much for your help!
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4212705#4212705
Reply to the post
The comments in the source for putForExternalRead say See JBCACHE-848 for
details around this feature., but that link is dead.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4212385#4212385
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=post
If the put fails, the next call to get will fault and go to the database, and
the next, and so forth, with each of them doing a fetch of data and attempting
a put. So now instead of blocking reads behind one write (gets behind one put),
we'll have write contention due to multiple puts, which is
If we use putForExternalRead, do we no longer need to call setCacheModeLocal?
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4212383#4212383
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4212383
_
Here's the other thread:
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4173985.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4212380#4212380
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4212380
___
Based on an earlier thread on this forum that I started, and their response
from JBoss (which I think was from you, Manik!) asking how to avoid
notification on put, we call setCacheModeLocal(true) for puts of data read from
the database as opposed to puts of new data. Will that not accomplish wh
I'm sorry I didn't respond sooner--I had registered to watch this topic for
replies, but never got a notification!
It's not clear that we can use a different read mode here, because the cache is
being written to due to a cache fault--a reader got a null, so the reader
fetches from the database
When we run our application with multiple users, various problems start showing
up in the logs.
In particular:
org.jboss.cache.lock.TimeoutException: read lock for [...] could not be
acquired by GlobalTransaction::90620 after 15000 ms. Locks: Read lock owners:
[] Write lock owner: GlobalTransa
25 matches
Mail list logo