Objects retrieved using getObject() in a transaction that rollsback are unusable
--------------------------------------------------------------------------------
Key: JBCACHE-1370
URL:
http://jira.jboss.com/jira/browse/JBCACHE-1370
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Legacy POJO Cache
Affects Versions: 1.4.1.SP9, 1.4.1.SP8, 1.4.1.SP7, 1.4.1.SP6, 1.4.1.SP5, 1.4.1.SP4,
1.4.1.SP3, 1.4.1.SP2, 1.4.1.SP1
Reporter: Jason T. Greene
Assigned To: Jason T. Greene
Fix For: 1.4.X
POJO Cache 1.4.x adds interceptor changes during get operations to the undo list. This
effectively prevents an object retrieved from a get() from being usable if a rollback
occurs during the TX that contains the get.
For this, and other reasons, get operations should never rollback interceptor additions.
Original report:
In my cluster i have 2 PojoCache (REPL_SYNC,inactive on startup,transcational,replication
version 1.4.0.GA). First i create one cache and fill it with data, then i create the
second cache and force full state transfer using region activation. On the second cache,
after it received the state, in a new transaction, i fecth an object from the cache and
modify a map it contains and then rollback the transaction. After the rollback, *all* the
objects in the seconds cache are corrupted: all properties values are now null!, (the
other cache is not corrupted). Note, when modifing a primitive property and then rollback,
the cache is not corrupted. What i found is that in the corrupted objects, the
instanceAdvisor appendedInterceptors list is missing the CacheInterceptor.
attached a unit test demonstrating this bug. The test is based on the distribution
org.jboss.cache.aop.statetransfer.StateTransferAopTestBase unit test, to run it, add it to
the distribution org.jboss.cache.aop.statetransfer tests package and run the tests.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira