[ 
https://issues.apache.org/jira/browse/JCS-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15836453#comment-15836453
 ] 

Wiktor N commented on JCS-171:
------------------------------

One of our users reported that he sees messages related in my opinion to this 
change:

{noformat}
java.util.concurrent.RejectedExecutionException: Task PutEvent for key: Bing 
aerial imagery:http://www.bing.com/maps/14/5836/9279 value: 
org.openstreetmap.josm.data.cache.BufferedImageCacheEntry@20ae54f3 rejected 
from java.util.concurrent.ThreadPoolExecutor@1bd0f37c[Terminated, pool size = 
0, active threads = 0, queued tasks = 0, completed tasks = 3898]
        at 
java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)
        at 
java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)
        at 
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369)
        at 
org.apache.commons.jcs.engine.PooledCacheEventQueue.put(PooledCacheEventQueue.java:127)
        at 
org.apache.commons.jcs.engine.AbstractCacheEventQueue.addPutEvent(AbstractCacheEventQueue.java:187)
        at 
org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache.update(AbstractDiskCache.java:215)
        at 
org.apache.commons.jcs.engine.control.CompositeCache.updateAuxiliaries(CompositeCache.java:368)
        at 
org.apache.commons.jcs.engine.control.CompositeCache.update(CompositeCache.java:253)
        at 
org.apache.commons.jcs.engine.control.CompositeCache.update(CompositeCache.java:205)
        at org.apache.commons.jcs.access.CacheAccess.put(CacheAccess.java:239)
{noformat}

I'll investigate further to check what's going on, as there is no clear way to 
reproduce. Though it doesn't affect stability.

> Multiple CacheEventQueue.QProcessor spawned for the same cache region
> ---------------------------------------------------------------------
>
>                 Key: JCS-171
>                 URL: https://issues.apache.org/jira/browse/JCS-171
>             Project: Commons JCS
>          Issue Type: Bug
>          Components: Composite Cache
>    Affects Versions: jcs-2.0
>            Reporter: Wiktor N
>            Assignee: Thomas Vandahl
>             Fix For: jcs-2.1
>
>         Attachments: CacheEventQueue.patch, jcs-perf-test.zip
>
>
> I noticed that running on new version of JCS I get multiple 
> CacheEventQueue.QProcessor thread. They spawn from time to time.
> I've checked recent changes and changes few things in r1774925 look 
> suspicious:
> 1. In previous code we spawned a new thread in synchronized section. This got 
> us a guarantee, that there will be no two threads trying to spawn a new 
> thread in the same time. Maybe some locking is needed around thread creation?
> 2. QProcessor uses isAlive() method. But this is defined by Thread.isAlive() 
> while it should probably check for CacheEventQueue.this.isAlive()



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to