lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <>
Subject RE: Solr plugin component resource cleanup?
Date Wed, 11 Jan 2012 08:29:11 GMT
"SolrCoreAware" and "CloseHook" are related in that you need a SolrCore object in order to
call SolrCore.addCloseHook().  Indeed, the javadoc for the CloseHook interface states that
the expected way you are supposed to use this in a plugin is via something like this:

public void inform(SolrCore core)
  core.addCloseHook(new MyCloseHookInstance());

If you have another way I can get hold of the right SolrCore object from within a QParserPlugin,
please let me know.  I've opened SOLR-3015 to track this issue.


From: ext Chris Hostetter []
Sent: Tuesday, January 03, 2012 12:55 PM
Subject: RE: Solr plugin component resource cleanup?

: This works fine for a SearchComponent, but if I try this for a QParserPlugin I get the following:
:     [junit] org.apache.solr.common.SolrException: Invalid 'Aware'
: object: org.apache.solr.mcf.ManifoldCFQParserPlugin@18941f7 --
: org.apache.solr.util.plugin.SolrCoreAware must be an instance of:

...that seems like an orthoginal problem to what i suggested...

: take a look at the "CloseHook" API and SolrCore.addCloseHook(...)
: : Is there a preferred time/manner for a Solr component (e.g. a
: : SearchComponent) to clean up resources that have been allocated during
: : the time of its existence, other than via a finalizer?  There seems to

...any object can call SolrCore.addCloseHook, regardless of wether or not
that class implements SolrCoreAware (two ideas are unrelated).  The list
of classes that implement SolrCoreAware has always been limited
to prevent circular lifecycle problems.

what type of resouces are you trying to clean up?  are they really
specific to the initialization of the QParserPlugin (which shoulds *VERY*
unusual), or to the QParsers that it creates? because you can always call
addCloseHook in the createParser method.


To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message