Hi Andrew

Please create an issue. I will assign the issue to me after it is created.

The fix will make it into the 2.4 release because it is a bug.

Cheers Christian


On Tue, Aug 27, 2013 at 10:14 AM, Andrew Miskelly <
[email protected]> wrote:

>  Christian's latest code provisionally seems to be working quite stably
> for me now.
>
> Is this fix likely to make it into the 2.4 release? Do we need to create
> an issue so that this is tracked?
>
> Regards,
> Andrew
>
>
> On 24/08/2013 04:51, Mike Grogan wrote:
>
> I have not yet tested the fix.  It is on my agenda for early next week.
>
>  - Mike
>
>
> On Fri, Aug 23, 2013 at 8:09 AM, Andrew Miskelly <
> [email protected]> wrote:
>
>>  Slightly different outcome this time around for me. By the end of the
>> day all of my AJP threads ended up in a RUNNABLE state, though not
>> apparently doing anything. I'm not sure whether this is a progression of
>> this issue or something entirely different but the result is the same - an
>> unresponsive application.
>>
>> "ajp-bio-8109-exec-937" daemon prio=10 tid=0x00002aaab533d000 nid=0x14d0
>> runnable [0x000000004d9b1000]
>>     java.lang.Thread.State: RUNNABLE
>>          at java.net.SocketInputStream.socketRead0(Native Method)
>>          at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>          at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:309)
>>          at
>> org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:364)
>>          at
>> org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:128)
>>          at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>          at
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>          - locked <0x0000000785dfec70> (a
>> org.apache.tomcat.util.net.SocketWrapper)
>>          at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>          at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>          at java.lang.Thread.run(Thread.java:662)
>>
>> Has anyone else done any testing of the new code?
>>
>> Regards,
>> Andrew
>>
>>
>> On 23/08/2013 09:51, Andrew Miskelly wrote:
>>
>> Hi Christian and Eric,
>>
>> Thanks for the work you've put in thus far. I have deployed the updated
>> classes and will let you know how things are going once GeoServer has been
>> running for a while.
>>
>> Regards,
>> Andrew
>>
>> On 23/08/2013 01:33, Christian Mueller wrote:
>>
>> Hi  all
>>
>>  I attached LRUAuthenticationCacheImpl.class and
>>  LRUAuthenticationCacheImpl$1.class for testing. These classes includes the
>> code snippet proposed by Eric. Please replace these classes in
>>
>>  WEB-INF/lib/main-<version>.jar
>>
>>  Let me know about the results.
>>
>>  If the problem persists, I will publish a version without the timer
>> task. This should resolve the issue. The disadvantage would be that
>> authentication tokens are hold in memory longer than needed, the
>> functionality would not change.
>>
>>  Cheers
>> Christian
>>
>>
>>
>>
>> On Thu, Aug 22, 2013 at 5:18 PM, Eric Smets <[email protected]> wrote:
>>
>>>  Op 22/08/2013 16:30, Christian Mueller schreef:
>>>
>>> Hi Eric
>>>
>>>  Only to be sure, the above code snippet solves the issue ?
>>>
>>>  We have only tested this modification, this came up after an internal
>>> discussion.
>>> We can not confirm that this solves the original issue, but this
>>> solution should do a better job.
>>>
>>> We could use the testscript from Andrew to confirm the solution.
>>>
>>>
>>>
>>>
>>>  If it does, I will publish a modified class file for the other users
>>> to test.
>>>
>>>  My current idea was to remove the time task completely, but your
>>> solution would be better and safer.
>>>
>>>  Please let me know
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thu, Aug 22, 2013 at 4:09 PM, Eric Smets <[email protected]> wrote:
>>>
>>>>  Hello,
>>>>
>>>> We had/have  on a production machine the same issue.
>>>> Following the discuss we looked into the implementation of
>>>> LRUAuthenticationCacheImpl
>>>>
>>>> The origin of the problem is not clear but the result is only one loop
>>>> over the keys.
>>>>
>>>> LRUAuthenticationCacheImpl. Some addional logging is also added but
>>>> could be removed
>>>>
>>>> The changed snipped follows
>>>> ----
>>>>
>>>>    TimerTask removeExpiredTask = new TimerTask() {
>>>>         @Override
>>>>         public void run() {
>>>>             LOGGER.fine("Start searching for expired authentication
>>>> tokens");
>>>>             writeLock.lock();
>>>>             try {
>>>>                  int removed = 0;
>>>>                  long currentTime=System.currentTimeMillis();
>>>>
>>>>                  if (cache.size() > 50) LOGGER.info("AuthKey Cache
>>>> entries: " + cache.size());
>>>>
>>>>                  Iterator<AuthenticationCacheEntry> iter =
>>>> cache.values().iterator();
>>>>
>>>>                  while (iter.hasNext())
>>>>                  {
>>>>                     if (iter.next().hasExpired(currentTime))
>>>>                     {
>>>>                        iter.remove();
>>>>                        removed++;
>>>>                     }
>>>>                  }
>>>>                 LOGGER.fine("Number of expired authentication tokens
>>>> found: " + removed);
>>>>             } finally {
>>>>                 writeLock.unlock();
>>>>             }
>>>>             LOGGER.fine("End searching for expired authentication
>>>> tokens");
>>>>         }
>>>>     };
>>>>
>>>> Op 22/08/2013 11:58, Andrea Aime schreef:
>>>>
>>>>  On Thu, Aug 22, 2013 at 11:52 AM, Christian Mueller <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Andrea
>>>>>
>>>>>  The problem is that most cache implementations have global expire
>>>>> time settings. We need global expire times as default but it must be
>>>>> possible to assign expire times to individual entries. As an example,
>>>>> digest authentication has its own expire times and it does not make sense
>>>>> if the cache has expire times larger than the configured expire times of
>>>>> the digest authentication filter. A cache entry created by digest
>>>>> authentication has expire times limited by the digest authentication
>>>>> configuration.
>>>>>
>>>>>  The cleaner thread is here to guarantee that an unused
>>>>> authentication token is not cached for a long time period, this is a
>>>>> security risk.
>>>>>
>>>>>
>>>>>  I am thinking about using Collections.synchronizedMap(..) and to
>>>>> kick out all the locking stuff.
>>>>>
>>>>
>>>>  Ugh, it would limit scalability quite a bit. The Guava CacheBuilder
>>>> should be a much more performant solution.
>>>> Once built you can treat it as a regular map, it handles LRU and
>>>> concurrency internally.
>>>>
>>>>  Cheers
>>>> Andrea
>>>>
>>>>  --
>>>>  ==
>>>> Our support, Your Success! Visit http://opensdi.geo-solutions.it for
>>>> more information.
>>>> ==
>>>>
>>>>  Ing. Andrea Aime
>>>>  @geowolf
>>>> Technical Lead
>>>>
>>>>  GeoSolutions S.A.S.
>>>> Via Poggio alle Viti 1187
>>>> 55054  Massarosa (LU)
>>>> Italy
>>>> phone: +39 0584 962313
>>>> fax: +39 0584 1660272
>>>> mob: +39  339 8844549
>>>>
>>>>  http://www.geo-solutions.it
>>>> http://twitter.com/geosolutions_it
>>>>
>>>>  -------------------------------------------------------
>>>>
>>>>
>>>>   
>>>> ------------------------------------------------------------------------------
>>>> Introducing Performance Central, a new site from SourceForge and
>>>> AppDynamics. Performance Central is your source for news, insights,
>>>> analysis and resources for efficient Application Performance Management.
>>>> Visit us 
>>>> today!http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Geoserver-users mailing 
>>>> [email protected]https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>>>
>>>>
>>>>
>>>> --
>>>> Eric Smets                                    [email protected]
>>>> FKS bvba - Formal and Knowledge Systems       http://www.fks.be/
>>>> Schampbergstraat 32                           Tel:  ++32-(0)11-21 49 11
>>>> B-3511 Hasselt                                Fax:  ++32-(0)11-22 04 19
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Introducing Performance Central, a new site from SourceForge and
>>>> AppDynamics. Performance Central is your source for news, insights,
>>>> analysis and resources for efficient Application Performance Management.
>>>> Visit us today!
>>>>
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>>>> _______________________________________________
>>>> Geoserver-users mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>>>
>>>>
>>>
>>>
>>>  --
>>> DI Christian Mueller MSc (GIS), MSc (IT-Security)
>>> OSS Open Source Solutions GmbH
>>>
>>>
>>>
>>> --
>>> Eric Smets                                    [email protected]
>>> FKS bvba - Formal and Knowledge Systems       http://www.fks.be/
>>> Schampbergstraat 32                           Tel:  ++32-(0)11-21 49 11
>>> B-3511 Hasselt                                Fax:  ++32-(0)11-22 04 19
>>>
>>>
>>
>>
>>  --
>> DI Christian Mueller MSc (GIS), MSc (IT-Security)
>> OSS Open Source Solutions GmbH
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Introducing Performance Central, a new site from SourceForge and
>> AppDynamics. Performance Central is your source for news, insights,
>> analysis and resources for efficient Application Performance Management.
>> Visit us 
>> today!http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>>
>>
>>
>> _______________________________________________
>> Geoserver-users mailing 
>> [email protected]https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Introducing Performance Central, a new site from SourceForge and
>> AppDynamics. Performance Central is your source for news, insights,
>> analysis and resources for efficient Application Performance Management.
>> Visit us 
>> today!http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>>
>>
>>
>> _______________________________________________
>> Geoserver-users mailing 
>> [email protected]https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Introducing Performance Central, a new site from SourceForge and
>> AppDynamics. Performance Central is your source for news, insights,
>> analysis and resources for efficient Application Performance Management.
>> Visit us today!
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Geoserver-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>>
>
>
>
> ------------------------------------------------------------------------------
> Introducing Performance Central, a new site from SourceForge and
> AppDynamics. Performance Central is your source for news, insights,
> analysis and resources for efficient Application Performance Management.
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> _______________________________________________
> Geoserver-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>
>


-- 
DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to