Uploaded image for project: 'i2b2 Core Software'
  1. i2b2 Core Software
  2. CORE-149

JDBC calls to interrupted threads throw sqlexceptions - Queries do not leave medium queue

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7.03
    • 1.7.06
    • CRC Cell
    • None
    • Java SE Runtime Environment (build 1.6.0_16-b01)
      JBoss AS 7.1.1.Final
    • Rank:
      0|i001hj:
    • Queries - Large
    • i2b2 Core
    • Oracle
    • All Web Browsers
    • Development done by Mike Mendis
    • Hide
      Test Date: 04/10/2015
      Build Number:
      Test Status: Passed

      Test Comments:
      Tested with the latest web client build and it appears to be working correctly. The query is now running to completion and the status in Previous Queries is being updated correctly.

      Clients Tested :
           i2b2 Web Client

      Environments Tested :
           Browsers: Not applicable for this test
           Databases: SQL Server and Oracle
           Client OS: Mac OS and Windows

      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

      Test Date: 04/09/2015
      Build Number:
      Test Status: Failed

      Test Comments:
      Tested with the latest web client build and it is not working correctly. The query never finishes running. It stays in a processing state. It will go from the small to medium queue but it does not appear to go from the medium to large queue. It remains in the medium queue and is never updated with an end date.

      Clients Tested :
           i2b2 Web Client

      Environments Tested :
           Browsers: Not applicable for this test
           Databases: SQL Server and Oracle
           Client OS: Mac OS and Windows
      Show
      Test Date: 04/10/2015 Build Number: Test Status: Passed Test Comments: Tested with the latest web client build and it appears to be working correctly. The query is now running to completion and the status in Previous Queries is being updated correctly. Clients Tested :      i2b2 Web Client Environments Tested :      Browsers: Not applicable for this test      Databases: SQL Server and Oracle      Client OS: Mac OS and Windows ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Test Date: 04/09/2015 Build Number: Test Status: Failed Test Comments: Tested with the latest web client build and it is not working correctly. The query never finishes running. It stays in a processing state. It will go from the small to medium queue but it does not appear to go from the medium to large queue. It remains in the medium queue and is never updated with an end date. Clients Tested :      i2b2 Web Client Environments Tested :      Browsers: Not applicable for this test      Databases: SQL Server and Oracle      Client OS: Mac OS and Windows

    Description

      When moving from small to medium queue, the thread processing the query is interrupted (edu.harvard.i2b2.crc.ejb.QueryManagerBeanUtil:234). The interruptedException is being caught by the jboss jdbc adapters (BaseWrapperManagedConnection.tryLock(BaseWrapperManagedConnection.java:384)) upon any calls to the database and throwing a general sqlexception (java.sql.SQLException: Interrupted attempting lock).

      The below error is shown in the logs (and additional related errors upon calls to clean up the temporary tables, etc.). The query never finishes, and shows a processing in the database. As a temporary fix, we've commented out the t.interrupt() call without any ill effects.

      09:01:57,048 INFO [stdout] (Thread-203) insert into i2b2data.DX ( patient_num ) select * from ( select distinct patient_num from i2b2data.QUERY_GLOBAL_TEMP where panel_count = 1 ) q
      09:06:50,376 ERROR [edu.harvard.i2b2.crc.dao.CRCDAO] (Thread-203) Error while executing sql: java.sql.SQLException: Interrupted attempting lock: org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@998944
              at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.tryLock(BaseWrapperManagedConnection.java:384)
              at org.jboss.jca.adapters.jdbc.WrappedConnection.lock(WrappedConnection.java:146)
              at org.jboss.jca.adapters.jdbc.WrappedStatement.lock(WrappedStatement.java:110)
              at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:359)
              at edu.harvard.i2b2.crc.dao.setfinder.QueryExecutorHelperDao.executeQuery(QueryExecutorHelperDao.java:309) [CRC-core.jar:]
              at edu.harvard.i2b2.crc.dao.setfinder.QueryExecutorDao.executeSQL(QueryExecutorDao.java:320) [CRC-core.jar:]
              at edu.harvard.i2b2.crc.ejb.ExecRunnable.processQueryRequest(ExecRunnable.java:469) [CRC-core.jar:]
              at edu.harvard.i2b2.crc.ejb.ExecRunnable.run(ExecRunnable.java:184) [CRC-core.jar:]
              at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

      Attachments

        Activity

          People

            jmd86 Janice Donahoe
            mhorvath Michael Horvath
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: