Indexer threads exceed maximum of 10 during space import

XMLWordPrintable

    • Severity 3 - Minor

      While doing a space import, our system hung due to exhaustion of our database connections.

      Upon further inspection, I noticed all the database connections were being used by the Indexer threads.

      Performing a thread dump showed 22 indexer threads.

      This is higher than the 10 that is supposed to be the maximum if no indexer thread parameter is set:

      https://confluence.atlassian.com/display/DOC/Recognised+System+Properties

      This might be related to our environment...we have many CPU cores.

      Snippet:

      "Indexer: 21" prio=10 tid=0x0000000002910800 nid=0xabce runnable [0x000000004abe1000]
         java.lang.Thread.State: RUNNABLE
              at java.net.SocketInputStream.socketRead0(Native Method)
              at java.net.SocketInputStream.read(SocketInputStream.java:150)
              at java.net.SocketInputStream.read(SocketInputStream.java:121)
              at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
              at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
              at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
              - locked <0x0000000777a1e110> (a com.mysql.jdbc.util.ReadAheadInputStream)
              at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2499)
              at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2954)
              at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2943)
              at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3486)
              at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
              at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
              at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2693)
              - locked <0x0000000777a1e438> (a java.lang.Object)
              at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2102)
              at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2261)
              - locked <0x0000000777a1e438> (a java.lang.Object)
              at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
              at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:89)
      
      

            Assignee:
            Unassigned
            Reporter:
            David Yu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: