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.
What do you think ?
Cheers
On Thu, Aug 22, 2013 at 11:13 AM, Andrea Aime
<andrea.a...@geo-solutions.it>wrote:
> On Thu, Aug 22, 2013 at 11:08 AM, Andrea Aime <
> andrea.a...@geo-solutions.it> wrote:
>
>> Christian,
>> I had another quick look at the code during a build, and I'm starting to
>> question the need of that cleanup thread,
>> I have the impression in the end it's only causing trouble.
>>
>> Rationale:
>> * the map is a LRU one, with 1000 entries, so it purges unused items by
>> itself
>> * if an item that's expired is looked up, it gets removed anyways by the
>> lookup code
>>
>> So, why should we do a "stop the world" operation like the one the timed
>> cleaner is doing?
>> (while it's running, no one else can authenticate)
>>
>
> Ah, another bit. Since we have Guava stuck in the classpath, we could
> probably make good use of it
> and replace the LRUMap with a concurrent LRU map as built by the
> CacheBuilder, have a look:
>
>
> http://docs.guava-libraries.googlecode.com/git-history/v10.0.1/javadoc/com/google/common/cache/CacheBuilder.html
>
> With this data structure I believe we could also get rid of the
> ReadWriteLock and increase concurrency.
>
>
> 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
>
> -------------------------------------------------------
>
--
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
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users