get() and remove() calls on non-existent nodes create intermediate nodes before returning
a null
------------------------------------------------------------------------------------------------
Key: JBCACHE-881
URL:
http://jira.jboss.com/jira/browse/JBCACHE-881
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 1.4.0.SP1, 1.3.0.SP3
Reporter: Manik Surtani
Assigned To: Manik Surtani
Fix For: 1.3.0.SP4, 1.4.1.GA, 2.0.0.ALPHA2, 2.0.0.GA
Applies to the pessimistic lock interceptor only.
"When doing a get on a node that doesn't exist, intermediate nodes are created.
E.g., cache2.get("/one/two/three", "key1") actually ends up creating
/one/two/three first, and after the JBCACHE-875 fix, /, /one and /one/two will be WL'd
for a get() on a nonexistent node!! Shouldn't the loop just be short-circuited such
that at any point, if the next node does not exist and the lock_type requested is READ,
just return a null? Saves us a whole bunch of unnecessary WL's ..."
Don't bother creating such intermediate nodes. If the intermediate nodes don't
exist, how could the final one exist? :S
--
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