OK, after some sorting fieldCache has some entries and also all other caches.
Next I called optimize which started a new searcher.
All caches a cleared, _except_ fieldCache.
I then started a GC with jconsole and the logfile reported "Full GC".
The heap reduced its size but the fieldCache is _still_ holding its entries.

From this point of view the fieldCache will never cleaned up by GC,
holding more and more data until OOM, that is very bad.

Why is fieldCache not under the hood of Lucene/Solr so that it will be cleaned
up with a new searched or Full GC?

Regards,
Bernd


Am 21.06.2011 19:37, schrieb Erick Erickson:
So action that starts a new searcher and closes the old one (like
replication)
should release cache from fieldCache through garbage collection?

Absolutely. It won't be immediate, because the JVM has some
heuristics it uses to initiate garbage collection. You could try
attaching to the Solr instance with jConsole and use that to trigger
garbage collections to see what that could tell you...

Best
Erick

On Tue, Jun 21, 2011 at 8:39 AM, Bernd Fehling
<bernd.fehl...@uni-bielefeld.de>  wrote:

Currently I'm using version 3.2.
I used already 4.x some month ago but there was to much change to that time
so I decided to go with 3.0.x and updated to 3.1 and now to 3.2.

I'm still dealing with my fieldCache OOM issue and want to understand
why things are as they are.
I have already removed/solved one "insane message" from fieldCache and
three ReadOnlyDirectoryReader Entries from fieldCache.
Only sorting produces now an entry.

So action that starts a new searcher and closes the old one (like
replication)
should release cache from fieldCache through garbage collection?

Regards
Bernd

Am 21.06.2011 13:49, schrieb Erick Erickson:

Hmmm, I'm not going to even try to talk about the code itself, but I will
add
a couple of clarifications:

Jetty has nothing to do with it. It's in Lucene, and it's used for sorting
and
sometimes faceting. The cache is associated with a reader on a machine
used to search. When replication happens, that searcher should be closed
and any data associated with the cache is returned to the system.

Someone else will have to chime in on the underlying details<G>..

By the way, what version of Solr are you using? Because the memory
requirements for string sorting and faceting have been drastically
reduced on the trunk version. In a really rough test I've seen 75%
reductions in memory requirements (note I was doing the worst things
I could think of, so I don't necessarily expect your results to be as
drastic).

Best
Erick

On Tue, Jun 21, 2011 at 5:32 AM, Bernd Fehling
<bernd.fehl...@uni-bielefeld.de>    wrote:

I'm trying to understand the logic of/behind fieldCache.

Who has written this peace of code or has good knowledge about it?

Why is it under the hood of jetty?

I see FieldCache$StringIndex with
- f_dccollection
- f_dcyear
- f_dctype
but also
- dctitle -->    f_dctitle -->    f_dccreator
- title -->    f_dcyear

There are some entries without further reference like the first examples
and some that have references to further HashMaps like a chain.
Why is it this way, what is the purpose?

What is fieldCache doing if a server is replicated, will all old content
be cleaned up because of a new index with new content?

Regards
Bernd


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org


--
*************************************************************
Bernd Fehling                Universitätsbibliothek Bielefeld
Dipl.-Inform. (FH)                        Universitätsstr. 25
Tel. +49 521 106-4060                   Fax. +49 521 106-4052
bernd.fehl...@uni-bielefeld.de                33615 Bielefeld

BASE - Bielefeld Academic Search Engine - www.base-search.net
*************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to