[ 
https://issues.apache.org/jira/browse/SOLR-7843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pablo Lozano updated SOLR-7843:
-------------------------------
    Description: 
The org.apache.solr.handler.dataimport.SolrWriter is not correctly cleaning 
itself after finishing importing Deltas as the "Set<Object> deltaKeys" is not 
being cleaned after the process has finished. 

When using a custom importer or DataSource for my case I need to add additional 
parameters to the delta keys.

When the data import finishes the DeltaKeys is not set back to null and the 
DataImporter, DocBuilder and the SolrWriter are mantained as live objects 
because there are being referenced by the "infoRegistry" of the SolrCore which 
seems to be used for Jmx information.

It appears that starting a second delta import did not freed the memory which 
may cause on the long run an OutOfMemory, I have not checked if starting a full 
import would break the references and free the memory.

An easy fix is possible which  would be to add to the SolrWriter "deltaKeys = 
null;" on the close method.
Or nullify the writer on DocBuilder after being used on the method execute();

  was:
The org.apache.solr.handler.dataimport.SolrWriter is not correctly cleaning 
itself after finishing importing Deltas as the "Set<Object> deltaKeys" is not 
being cleaned after the process has finished. 

When using a custom importer or DataSource for my case I need to add additional 
parameters to the delta keys.

When the data import finishes the DeltaKeys is not set back to null and the 
DataImporter, DocBuilder and the SolrWriter are mantained as live objects 
because there are being referenced by the "infoRegistry" of the SolrCore which 
seems to be used for Jmx information.

It appears that starting a second delta import did not freed the memory which 
may cause on the long run an OutOfMemory, I have not checked if starting a full 
import would break the references and free the memory.

An easy fix is possible which  would be to add to the SolrWriter "deltaKeys = 
null;" on the close method.


> Importing Deltal create a memory leak
> -------------------------------------
>
>                 Key: SOLR-7843
>                 URL: https://issues.apache.org/jira/browse/SOLR-7843
>             Project: Solr
>          Issue Type: Bug
>          Components: contrib - DataImportHandler
>    Affects Versions: 5.2.1
>            Reporter: Pablo Lozano
>              Labels: memory-leak
>
> The org.apache.solr.handler.dataimport.SolrWriter is not correctly cleaning 
> itself after finishing importing Deltas as the "Set<Object> deltaKeys" is not 
> being cleaned after the process has finished. 
> When using a custom importer or DataSource for my case I need to add 
> additional parameters to the delta keys.
> When the data import finishes the DeltaKeys is not set back to null and the 
> DataImporter, DocBuilder and the SolrWriter are mantained as live objects 
> because there are being referenced by the "infoRegistry" of the SolrCore 
> which seems to be used for Jmx information.
> It appears that starting a second delta import did not freed the memory which 
> may cause on the long run an OutOfMemory, I have not checked if starting a 
> full import would break the references and free the memory.
> An easy fix is possible which  would be to add to the SolrWriter "deltaKeys = 
> null;" on the close method.
> Or nullify the writer on DocBuilder after being used on the method execute();



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to