Uploaded image for project: 'ManifoldCF'
  1. ManifoldCF
  2. CONNECTORS-1101

^C of single-process example sometimes hangs under MySQL

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      A ^C of the agents process using the MySQL database driver hung and had the following in its thread dump:

      "Thread-34778" daemon prio=6 tid=0x00000000152f2000 nid=0x2d18 waiting for monitor entry [0x000000000b92e000]
         java.lang.Thread.State: BLOCKED (on object monitor)
      	at com.mysql.jdbc.ConnectionImpl.getCharacterSetMetadata(ConnectionImpl.java:2798)
      	- waiting to lock <0x00000000f0610a20> (a com.mysql.jdbc.JDBC4Connection)
      	at com.mysql.jdbc.Field.getStringFromBytes(Field.java:710)
      	at com.mysql.jdbc.Field.getTableName(Field.java:781)
      	at com.mysql.jdbc.Field.getFullName(Field.java:545)
      	at com.mysql.jdbc.ResultSetImpl.buildIndexMapping(ResultSetImpl.java:751)
      	at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1108)
      	- locked <0x00000000fb82ba28> (a com.mysql.jdbc.JDBC4ResultSet)
      	at org.apache.manifoldcf.core.database.Database.findColumn(Database.java:1128)
      	at org.apache.manifoldcf.core.database.Database.getData(Database.java:976)
      	at org.apache.manifoldcf.core.database.Database.execute(Database.java:884)
      	at org.apache.manifoldcf.core.database.Database$ExecuteQueryThread.run(Database.java:683)
      
      "Worker thread '32'" daemon prio=6 tid=0x0000000009dce000 nid=0x2f68 waiting for monitor entry [0x000000000fb8e000]
         java.lang.Thread.State: BLOCKED (on object monitor)
      	at com.mysql.jdbc.ResultSetImpl.realClose(ResultSetImpl.java:7477)
      	- waiting to lock <0x00000000fb82ba28> (a com.mysql.jdbc.JDBC4ResultSet)
      	at com.mysql.jdbc.ResultSetImpl.close(ResultSetImpl.java:907)
      	at com.mysql.jdbc.StatementImpl.realClose(StatementImpl.java:2478)
      	- locked <0x00000000f10d7c60> (a com.mysql.jdbc.JDBC4PreparedStatement)
      	at com.mysql.jdbc.PreparedStatement.realClose(PreparedStatement.java:3091)
      	- locked <0x00000000f10d7c60> (a com.mysql.jdbc.JDBC4PreparedStatement)
      	at com.mysql.jdbc.ConnectionImpl.closeAllOpenStatements(ConnectionImpl.java:1584)
      	at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4364)
      	at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1556)
      	- locked <0x00000000f0610a20> (a com.mysql.jdbc.JDBC4Connection)
      	at org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:739)
      	at org.apache.manifoldcf.core.database.Database.executeUncachedQuery(Database.java:762)
      	at org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(Database.java:1435)
      	at org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:146)
      	at org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:191)
      	at org.apache.manifoldcf.core.database.DBInterfaceMySQL.performQuery(DBInterfaceMySQL.java:875)
      	at org.apache.manifoldcf.core.database.BaseTable.performQuery(BaseTable.java:221)
      	at org.apache.manifoldcf.crawler.jobs.HopDeleteDeps.getDeleteDependencies(HopDeleteDeps.java:191)
      	at org.apache.manifoldcf.crawler.jobs.HopCount.doRecord(HopCount.java:470)
      	at org.apache.manifoldcf.crawler.jobs.HopCount.recordReferences(HopCount.java:361)
      	at org.apache.manifoldcf.crawler.jobs.JobManager.addDocuments(JobManager.java:5057)
      	at org.apache.manifoldcf.crawler.system.WorkerThread$ProcessActivity.processDocumentReferences(WorkerThread.java:1966)
      	at org.apache.manifoldcf.crawler.system.WorkerThread$ProcessActivity.flush(WorkerThread.java:1909)
      	at org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:427)
      

      It looks like the database handle close hung waiting for a mysql operation to finish up, which was in turn probably disrupted by a Thread.interrupt().

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            kwright@metacarta.com Karl Wright
            kwright@metacarta.com Karl Wright
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment