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

Queries are stuck in queue when previous query results in an error

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7.08
    • 1.7.08a
    • CRC Cell
    • None
    • Queries
    • i2b2 Core
    • All databases
    • All Web Browsers
    • Fixed by Mike Mendis and is included in Release 1.7.08a
    • Hide
      In summary, the testing involved verifying the next query in a queue would run when a query generates an error.

      NOTE: This issue was tested in conjunction with CORE-236. The attached file is the full checklist of what was tested for release 1.7.08a.
      Show
      In summary, the testing involved verifying the next query in a queue would run when a query generates an error. NOTE: This issue was tested in conjunction with CORE-236 . The attached file is the full checklist of what was tested for release 1.7.08a.
    • edu.harvard.i2b2.crc

    Description

      When a query errors out in the medium or large queue it is locking up or dropping the queue thread so no other queries are being run. The only way to free up the queue is to restart WildFly.

      What Should Happen
      If a query generates an error while running in any of the queues the following should occur.

      * The statuses are updated in the QT_QUERY_INSTANCE and QT_QUERY_RESULT_INSTANCE tables.
      * The END_DATE in the tables is updated to indicate the query is done running.
      * The queue should be free to begin running the next query.



      Attachments

        Issue Links

          Activity

            jmd86 Janice Donahoe created issue -
            jmd86 Janice Donahoe made changes -
            Field Original Value New Value
            Link This issue clone of CORE-236 [ CORE-236 ]
            jmd86 Janice Donahoe made changes -
            Description An error is returned whenever a query times out. The query appears to be running in the medium queue but the CRC always returns an error when it times out and goes into the next queue. Eventually results will be returned but the user will not know because in the client they see a status of ERROR.

            The initial issue (error returned) was introduced in Release 1.7.08. Queries run in an earlier version will not have this issue. However, during our testing we found a number of other issues related to the queues that may or may not have existed in earlier versions of the i2b2.

            The additional issues are:

            1. When a query errors out in the medium or large queue it is locking up or dropping the queue thread so no other queries are being run.

            2. Queries will continue to run even though they have "timed out" of the large queue. The thread is not ending correctly when the query reaches the maximum run time defined in the crc.properties file. The next query waiting in the large queue will run.

            3. Statuses are not being updated correctly when a query times out of the large queue or an error occurred. In the QT_QUERY_RESULT_INSTANCE and QT_QUERY_INSTANCE tables the STATUS_TYPE_ID is either INCOMPLETE, PROCESSING or QUEUED when it should be TIMEDOUT or ERROR.





            When testing CORE-236 an issue where
            An error is returned whenever a query times out. The query appears to be running in the medium queue but the CRC always returns an error when it times out and goes into the next queue. Eventually results will be returned but the user will not know because in the client they see a status of ERROR.

            The initial issue (error returned) was introduced in Release 1.7.08. Queries run in an earlier version will not have this issue. However, during our testing we found a number of other issues related to the queues that may or may not have existed in earlier versions of the i2b2.

            The additional issues are:

            1. When a query errors out in the medium or large queue it is locking up or dropping the queue thread so no other queries are being run.

            2. Queries will continue to run even though they have "timed out" of the large queue. The thread is not ending correctly when the query reaches the maximum run time defined in the crc.properties file. The next query waiting in the large queue will run.

            3. Statuses are not being updated correctly when a query times out of the large queue or an error occurred. In the QT_QUERY_RESULT_INSTANCE and QT_QUERY_INSTANCE tables the STATUS_TYPE_ID is either INCOMPLETE, PROCESSING or QUEUED when it should be TIMEDOUT or ERROR.





            jmd86 Janice Donahoe made changes -
            Description When testing CORE-236 an issue where
            An error is returned whenever a query times out. The query appears to be running in the medium queue but the CRC always returns an error when it times out and goes into the next queue. Eventually results will be returned but the user will not know because in the client they see a status of ERROR.

            The initial issue (error returned) was introduced in Release 1.7.08. Queries run in an earlier version will not have this issue. However, during our testing we found a number of other issues related to the queues that may or may not have existed in earlier versions of the i2b2.

            The additional issues are:

            1. When a query errors out in the medium or large queue it is locking up or dropping the queue thread so no other queries are being run.

            2. Queries will continue to run even though they have "timed out" of the large queue. The thread is not ending correctly when the query reaches the maximum run time defined in the crc.properties file. The next query waiting in the large queue will run.

            3. Statuses are not being updated correctly when a query times out of the large queue or an error occurred. In the QT_QUERY_RESULT_INSTANCE and QT_QUERY_INSTANCE tables the STATUS_TYPE_ID is either INCOMPLETE, PROCESSING or QUEUED when it should be TIMEDOUT or ERROR.





            When a query errors out in the medium or large queue it is locking up or dropping the queue thread so no other queries are being run. The only way to free up the queue is to restart WildFly.

            What Should Happen
            If a query generates an error while running in any of the queues the following should occur.

            * The statuses are updated in the QT_QUERY_INSTANCE and QT_QUERY_RESULT_INSTANCE tables.
            * The END_DATE in the tables is updated to indicate the query is done running.
            * The queue should be free to begin running the next query.



            jmd86 Janice Donahoe made changes -
            Testing Notes In summary, the testing involved verifying the following occurred as expected.

            1. Queries move through the queues as expected.
            2. The query/thread stops appropriately when a query times out.
            3. The appropriate status is assigned in the database and displays correctly in both the i2b2 Web Client and Workbench.
            4. If WildFly goes down, the queries waiting in the medium and large queues will run when WildFly is restarted.

            Attached to this issue is the full checklist of what was tested.
            In summary, the testing involved verifying the next query in a queue would run when a query generates an error.

            NOTE: This issue was tested in conjunction with CORE-236. The attached file is the full checklist of what was tested for release 1.7.08a.
            jmd86 Janice Donahoe made changes -
            Link This issue clone of CORE-243 [ CORE-243 ]
            jmd86 Janice Donahoe made changes -
            Developer Notes Fixed by Mike Mendis and is included in Release 1.7.08a
            Server Plug-in/s Modified edu.harvard.i2b2.crc [ 10114 ]
            jmd86 Janice Donahoe made changes -
            Link This issue clone of CORE-244 [ CORE-244 ]
            jmd86 Janice Donahoe made changes -
            i2b2 Feature/s Queries [ 10081 ]
            Status New [ 10000 ] Open [ 1 ]
            jmd86 Janice Donahoe made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jmd86 Janice Donahoe made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            The change for this issue was included in the 1.7.08a release.
            jmd86 Janice Donahoe added a comment - The change for this issue was included in the 1.7.08a release.
            jmd86 Janice Donahoe made changes -
            Status Resolved [ 5 ] Closed [ 6 ]

            People

              jmd86 Janice Donahoe
              jmd86 Janice Donahoe
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: