You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Pablo Lozano (JIRA)" <ji...@apache.org> on 2015/07/28 18:59:05 UTC

[jira] [Updated] (SOLR-7843) Importing Deltal create a memory leak

     [ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org