[jboss-user] [JBossCache] - Cache, missing entries

baranowb do-not-reply at jboss.com
Wed Dec 20 12:17:07 EST 2006


I have encountered some problems with JBCache.
I have transactional enviroment. changes are commited to cache upon tx commit phase - classes that implement TransactionalAction are executed.

Hoever it misses some entries - cache doesnt retain entries it should upon concurrent tx running. Here is what is happening:

1)Tx[1] reads data to cache and stores to local Map
2)Tx[2] reads ......
3)Tx[1] adds "ALA"
4)Tx[1] adds "BEATA"
5)Tx[2] removes "OLA"   - last 3 operations are performed on local copies each tx stores in Map

6)Tx[1] Commits - two new entries are added to Tx - they are present
7)Tx[2] commits - one entry is removed

Cache lacks "ALA" and "BEATA". In fact if our caching structure doesnt write all entries  - to cache upon commit, those entries are missed too.

on steps 1-2 TreeCache.getKeys(nodeName) is called, and for each key value from that node is retrieved, retrieed values are stored in local Map - which is not shared among tx, each has its local map.
on steps 3-5 remove(key) and put(key,value) opearations are performed on local Maps - no cache operations are performed.
in those steps TransactionAction's are added to SynchronizationHandler  lists are added.
On 6 tx.commit/TransactionManager.commit is called. actions stored in SynchHandler call TreeCache.put(nodeName,key,object) and remove(nodeName,key) (it could, if something was removed)
- putting again and removing undeaded entries - whole copy of map is put into cache again, and some entries are removed
On 7 is the same


On steps 6-7 if whole local Map is not put into cache it lacks those entries which has not been put again.  I mean if only updated, added entries are put in cache, all other are not retained.
Is this expected behaviour? I have used jbcache 1.2 or 1.3 and newest version. Isolation level is READ COMMITED, with 1.4 I have tried Optimisitc locking scheme.

Any suggestions would be highly welcome.
Kind regards

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3995372#3995372

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3995372



More information about the jboss-user mailing list