[jira] Updated: (JCS-45) Partial Key removal misses purgatory

"Aaron Smuts (JIRA)" <[email protected]> Wed, 27 Aug 2008 10:33:45 -0700 (PDT)
Newsgroups gmane.comp.jakarta.turbine.jcs.devel
Message-ID <1643969591.1219858425090.JavaMail.jira@brutus>
     [ https://issues.apache.org/jira/browse/JCS-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aaron Smuts updated JCS-45:
---------------------------

    Priority: Minor  (was: Major)
     Summary: Partial Key removal misses purgatory  (was: hierarchical deletion not working with DiskUsagePatternName=UPDATE)

> Partial Key removal misses purgatory
> ------------------------------------
>
>                 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
>            Priority: Minor
>
> 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.