索引表后,Solr,db连接仍然存在

时间:2012-06-08 01:03:54

标签: solr dataimporthandler

我索引许多用data-config.xml中的实体编写的表。 但在索引一个表之后,数据库连接仍然存在 即使我设置'holdability =“CLOSE_CURSORS_AT_COMMIT”'。

如何在索引表后删除连接?

<dataConfig>
  <dataSource type="JdbcDataSource"
   driver="com.mysql.jdbc.Driver"
   url="jdbc:mysql://hostname/dbname"
   batchSize="2000"
   user="id"
   password="passwd"
   readOnly="true"  
   transactionIsolation="TRANSACTION_READ_COMMITTED"
   holdability="CLOSE_CURSORS_AT_COMMIT"
   connectionTimeout="10000" readTimeout="240000" />
  <document name="doc">
    <entity name="testTbl_0"
            transformer="RegexTransformer"
            onError="continue"
            query="SELECT Title, url, DocID, substring_index(body,' ',2048) \
description FROM testTbl_0 WHERE status in ('1','s') ">
      <field column="DocID" name="id" />
      <field column="Title" name="title_t" />
      <field column="description" name="contents_txt" />
      <field column="url" name="url" />
    </entity>
    <entity name="testTbl_1"
            transformer="RegexTransformer"
            onError="continue"
            query="SELECT Title, url, DocID, substring_index(body,' ',2048) \
description FROM testTbl_1 WHERE status in ('1','s') ">
      <field column="DocID" name="id" />
      <field column="Title" name="title_t" />
      <field column="description" name="contents_txt" />
      <field column="url" name="url" />
    </entity>
....

+-------+------+----------------+------+---------+------+-------+--------+
| Id    | User | Host           | db   | Command | Time | State | Info   |
+-------+------+----------------+------+---------+------+-------+--------+
| 88757 | id   | hostname:38843 | tmp  | Sleep   | 2268 |       | NULL   | 
| 88758 | id   | hostname:38844 | tmp  | Sleep   | 2196 |       | NULL   | 
| 88759 | id   | hostname:38845 | tmp  | Sleep   | 2134 |       | NULL   | 
| 88760 | id   | hostname:47822 | tmp  | Sleep   | 2074 |       | NULL   | 
| 88761 | id   | hostname:47823 | tmp  | Sleep   | 2013 |       | NULL   | 
| 88762 | id   | hostname:47824 | tmp  | Sleep   | 1953 |       | NULL   | 
| 88763 | id   | hostname:47825 | tmp  | Sleep   | 1896 |       | NULL   | 
| 88764 | id   | hostname:47826 | tmp  | Sleep   | 1838 |       | NULL   | 
| 88765 | id   | hostname:39795 | tmp  | Sleep   | 1778 |       | NULL   | 
| 88766 | id   | hostname:39796 | tmp  | Sleep   | 1717 |       | NULL   | 
| 88767 | id   | hostname:39797 | tmp  | Sleep   | 1658 |       | NULL   | 
| 88768 | id   | hostname:39798 | tmp  | Sleep   | 1594 |       | NULL   | 
| 88769 | id   | hostname:39799 | tmp  | Sleep   | 1535 |       | NULL   | 
| 88770 | id   | hostname:50275 | tmp  | Sleep   | 1470 |       | NULL   | 
| 88771 | id   | hostname:50276 | tmp  | Sleep   | 1411 |       | NULL   | 
| 88772 | id   | hostname:50277 | tmp  | Sleep   | 1352 |       | NULL   | 
| 88773 | id   | hostname:50278 | tmp  | Sleep   | 1291 |       | NULL   | 
| 88774 | id   | hostname:57385 | tmp  | Sleep   | 1165 |       | NULL   | 
| 88775 | id   | hostname:57386 | tmp  | Sleep   | 1044 |       | NULL   | 
| 88776 | id   | hostname:57387 | tmp  | Sleep   |  923 |       | NULL   | 
| 88777 | id   | hostname:53484 | tmp  | Sleep   |  801 |       | NULL   | 
| 88778 | id   | hostname:53485 | tmp  | Sleep   |  682 |       | NULL   | 
| 88779 | id   | hostname:58343 | tmp  | Sleep   |  560 |       | NULL   | 
| 88780 | id   | hostname:58344 | tmp  | Sleep   |  438 |       | NULL   | 
| 88781 | id   | hostname:58345 | tmp  | Sleep   |  314 |       | NULL   | 
| 88782 | id   | hostname:50474 | tmp  | Sleep   |  193 |       | NULL   | 
| 88783 | id   | hostname:50475 | tmp  | Sleep   |   72 |       | NULL   |

我读了一些关于数据库连接的问题和答案。 有人说,db连接仍然存活10秒钟。 但我开始在1小时之前索引(dataimport),所有数据库连接都保持1小时。

| 88757 | id   | localhost:38843 | tmp | Sleep   | 3696 |       | NULL   | 
| 88758 | id   | localhost:38844 | tmp | Sleep   | 3624 |       | NULL   | 

1 个答案:

答案 0 :(得分:0)

看起来这是一个仍然在Solr 1.4(!)中打开的旧bug:

https://issues.apache.org/jira/browse/SOLR-2045

您似乎需要提交结果(或自动提交)才能让数据库连接松开。

相关问题