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

Alexandre Rafalovitch resolved SOLR-6644.
-----------------------------------------
    Resolution: Won't Fix

> DataImportHandler holds on to each DB connection until the end
> --------------------------------------------------------------
>
>                 Key: SOLR-6644
>                 URL: https://issues.apache.org/jira/browse/SOLR-6644
>             Project: Solr
>          Issue Type: Bug
>          Components: contrib - DataImportHandler
>    Affects Versions: 4.7, 4.10.1
>            Reporter: Gunnlaugur Thor Briem
>            Priority: Major
>              Labels: dataimport, jdbc
>
> DataImportHandler with a JDBC data source opens one DB connection per entity, 
> and then holds on to that DB connection with an open transaction after it's 
> finished processing that entity ... right until the whole DataImportHandler 
> operation is finished.
> So this can mean dozens of DB connections tied up for hours, unnecessarily 
> --- with each connection staying in "idle in transaction" state, holding (in 
> PostgreSQL) an AccessShareLock on each relation it has looked at. Not ideal 
> for production operations, of course.
> Here are the connections from Solr to the DB when a large import has been 
> running for a while:
> {code}
>  backend_start | xact_start | query_start |        state        | minutes 
> idle 
> ---------------+------------+-------------+---------------------+--------------
>  20:03:20      | 20:03:20   | 20:03:21    | idle in transaction |           32
>  20:03:22      | 20:03:22   | 20:03:22    | idle in transaction |           32
>  20:03:22      | 20:03:22   | 20:03:22    | idle in transaction |           32
>  20:03:22      | 20:03:22   | 20:03:23    | idle in transaction |           32
>  20:03:21      | 20:03:21   | 20:16:35    | idle in transaction |           19
>  20:03:21      | 20:03:21   | 20:16:35    | idle in transaction |           19
>  20:03:22      | 20:03:22   | 20:16:35    | idle in transaction |           19
>  20:03:22      | 20:03:22   | 20:16:35    | idle in transaction |           19
>  20:03:22      | 20:03:22   | 20:16:35    | idle in transaction |           19
>  20:16:37      | 20:16:37   | 20:16:38    | idle in transaction |           19
>  20:03:21      | 20:03:21   | 20:16:35    | idle in transaction |           19
>  20:03:21      | 20:03:21   | 20:16:35    | idle in transaction |           19
>  20:03:21      | 20:03:21   | 20:16:35    | idle in transaction |           19
>  20:16:36      | 20:16:36   | 20:16:37    | idle in transaction |           19
>  20:03:20      | 20:03:20   | 20:16:35    | idle in transaction |           19
>  20:16:36      | 20:16:36   | 20:35:49    | idle in transaction |            0
>  20:16:36      | 20:16:36   | 20:35:49    | idle in transaction |            0
>  20:16:37      | 20:16:37   | 20:35:49    | idle in transaction |            0
>  20:16:35      | 20:16:35   | 20:35:41    | idle in transaction |            0
>  20:16:36      | 20:16:36   | 20:35:49    | idle in transaction |            0
>  20:16:37      | 20:16:37   | 20:35:49    | active              |            0
> {code}
> Most of these haven't been touched for a long time, and will not be needed 
> again (because DataImportHandler is done with that top-level entity). They 
> should be released as soon as possible.
> Noticed in production in Solr 4.7.0, then reproduced in 4.10.1 (so probably 
> also true of all versions inbetween).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to