[ https://issues.apache.org/jira/browse/JCS-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619101#action_12619101 ]
Aaron Smuts commented on JCS-45: -------------------------------- To fix the problem, we need to add purgatory partial key removal to the remove call in the AbstractDiskCache. > hierarchical deletion not working with DiskUsagePatternName=UPDATE > ------------------------------------------------------------------ > > Key: JCS-45 > URL: https://issues.apache.org/jira/browse/JCS-45 > Project: JCS > Issue Type: Bug > Components: Indexed Disk Cache > Affects Versions: jcs-1.3 > Reporter: Philip Johnson > Assignee: Aaron Smuts > > The documentation explains that it is possible to do "hierarchical deletion" > using keys with colon separators: > <http://jakarta.apache.org/jcs/faq.html#hierarchical-removal> > I would like this feature, but it appears to be broken when > DiskUsagePatternName is specified as UPDATE. I am using Java 1.6 on Windows. > Below is a short test program that illustrates the behavior. When I run this > program without changes, it prints out "OK" two times. When I uncomment the > setProperty() line in makeProps() and re-run the program, it prints out > "Error!" twice. > --------------------------- > import java.util.Properties; > import org.apache.jcs.JCS; > import org.apache.jcs.engine.control.CompositeCacheManager; > public class JcsProblem { > private static Properties makeProps() { > Properties props = new Properties(); > props.setProperty("jcs.region.foo", "DC"); > props.setProperty("jcs.region.foo.cacheattributes", > "org.apache.jcs.engine.CompositeCacheAttributes"); > props.setProperty("jcs.region.foo.MemoryCacheName", > "org.apache.jcs.engine.memory.lru.LRUMemoryCache"); > // Uncomment the following line to make hierarchical removal not work. > // > props.setProperty("jcs.region.foo.cacheattributes.DiskUsagePatternName", > "UPDATE"); > props.setProperty("jcs.auxiliary.DC", > "org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory"); > props.setProperty("jcs.auxiliary.DC.attributes", > "org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes"); > props.setProperty("jcs.auxiliary.DC.attributes.DiskPath", > System.getProperty("user.dir")); > return props; > } > public static void main(String[] args) throws Exception { > CompositeCacheManager ccm = > CompositeCacheManager.getUnconfiguredInstance(); > ccm.configure(makeProps()); > JCS cache = JCS.getInstance("foo"); > cache.put("foo:bar:baz", "one"); > cache.put("foo:bar:qux", "two"); > cache.put("bar:quxx", "three"); > cache.remove("foo:bar:"); > System.out.println(((cache.get("foo:bar:baz") == null) ? "OK" : > "Error!")); > System.out.println(((cache.get("foo:bar:qux") == null) ? "OK" : > "Error!")); > } > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]