Re: Caffeine Cache and Filter Cache in 8.3

2021-02-23 Thread Stephen Lewis Bianamara
Thanks Shawn! This is great clarity, really appreciate it. I'll proceed to
performance testing of the Caffeine Cache 

Is there a Jira issue needed for tracking these two documentation updates (
here

and here

)?

On Mon, Feb 22, 2021 at 1:16 PM Shawn Heisey  wrote:

> On 2/22/2021 1:50 PM, Stephen Lewis Bianamara wrote:
>
> 
>
> > (a) At what version did the caffeine cache reach production stability?
> > (b) Is the caffeine cache, and really all implementations, able to be
> used
> > on any cache, or are the restrictions about which cache implementations
> may
> > be used for which cache? If the latter, can you provide some guidance?
>
> The caffiene-based cache was introduced in Solr 8.3.  It was considered
> viable for production from the time it was introduced.
>
> https://issues.apache.org/jira/browse/SOLR-8241
>
> Something was found and fixed in 8.5.  I do not know what the impact of
> that issue was:
>
> https://issues.apache.org/jira/browse/SOLR-14239
>
> The other cache implementations were deprecated at some point.  Those
> implementations have been removed from the master branch, but still
> exist in the code for 8.x versions.
>
> If you want to use one of the older implementations like FastLRUCache,
> you still can, and will be able to for all future 8.x versions.  When
> 9.0 is released at some future date, that will no longer be possible.
>
> The Caffeine-based implementation is probably the best option, but I do
> not have any concrete data to give you.
>
> Thanks,
> Shawn
>


Re: Caffeine Cache and Filter Cache in 8.3

2021-02-22 Thread Shawn Heisey

On 2/22/2021 1:50 PM, Stephen Lewis Bianamara wrote:




(a) At what version did the caffeine cache reach production stability?
(b) Is the caffeine cache, and really all implementations, able to be used
on any cache, or are the restrictions about which cache implementations may
be used for which cache? If the latter, can you provide some guidance?


The caffiene-based cache was introduced in Solr 8.3.  It was considered 
viable for production from the time it was introduced.


https://issues.apache.org/jira/browse/SOLR-8241

Something was found and fixed in 8.5.  I do not know what the impact of 
that issue was:


https://issues.apache.org/jira/browse/SOLR-14239

The other cache implementations were deprecated at some point.  Those 
implementations have been removed from the master branch, but still 
exist in the code for 8.x versions.


If you want to use one of the older implementations like FastLRUCache, 
you still can, and will be able to for all future 8.x versions.  When 
9.0 is released at some future date, that will no longer be possible.


The Caffeine-based implementation is probably the best option, but I do 
not have any concrete data to give you.


Thanks,
Shawn


Caffeine Cache and Filter Cache in 8.3

2021-02-22 Thread Stephen Lewis Bianamara
Hi SOLR Community,

I have a question about cache implementations based on some seemingly
inconsistent documentation I'm looking at. I'm currently inquiring about
8.3, but more generally about solr version 8 too for upgrade planning.

In the description in the docs for cache implementations says


[The caffeine] cache implementation is recommended over other legacy caches
as it usually offers [good stuff].

On the other hand, down in the actual filter cache section says

The filter cache uses a specialized cache named as FastLRUCache which is
optimized for fast concurrent access with the trade-off that writes and
evictions are costlier than the LRUCache used for query result cache and
document cache.

This implies the FastLRU cache is the only option as the documentation
doesn't say "defaults to a specialized cache" but rather states it in a way
to imply necessity. Even if we assume that was not intended, it does imply
that the FastLRU cache is the only one suited to the Filter Cache. Further,
the documentation in the SOLR config says yet another thing, that you can
use FastLRU or LRU only


class - the SolrCache implementation LRUCache or
   (LRUCache or FastLRUCache)


Can you help me untangle this to understand the following:

(a) At what version did the caffeine cache reach production stability?
(b) Is the caffeine cache, and really all implementations, able to be used
on any cache, or are the restrictions about which cache implementations may
be used for which cache? If the latter, can you provide some guidance?

Disclaimer: I'm not asking which caches will be fastest for my
applications. I know that you can't know that ;) Rather, I want to be sure
which production version reached production stability (esp. for the filter
cache).

Thanks!
Stephen