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

Entries being written to the PM user session log at the same time will cause a query to error

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.7.08b
    • 1.7.09
    • CRC Cell, PM Cell
    • None
    • i2b2 Core
    • BBP
    • All databases

    Description

      When writing to the PM user session log, the set login attempt needs to use the database timestamp instead of the calendar.getInstance().getTime(). This will prevent queries from generating an error when trying to write to the log at the same time.

      Part of the problem is the PM user session log has a primary key in which two entries cannot have the same user and date-time. When a query runs it is the service account that is logged as the user. So if two or more people are running a query (ontology, setfinder, pdo, etc) and the crc is trying to write to the log at the exact same time, then only one entry will file and the other entries will error because the system thinks it is a duplicate.

      Temporary work around is to delete the constraint on the log.

      Attachments

        Activity

          jmd86 Janice Donahoe created issue -
          jmd86 Janice Donahoe made changes -
          Field Original Value New Value
          Assignee Mike Mendis [ mem61 ]
          i2b2 Related Project/s BBP [ 10227 ]
          i2b2 Sponsored Project/s i2b2 Core [ 10196 ]
          Priority Major [ 3 ] Minor [ 4 ]
          Status New [ 10000 ] Open [ 1 ]
          jmd86 Janice Donahoe made changes -
          Description When writing to the PM user session log, the set login attempt needs to use the database timestamp instead of the calendar.getInstance().getTime(). This will prevent queries from generating an error when trying to write to the log at the same time.

          This issue seems to only present itself if you are running a series of test scripts where the same user is running queries one on top of the other without a couple second delay between them.

          Sites should not see this issue as a person running multiple queries will naturally have a delay between the queries.
          When writing to the PM user session log, the set login attempt needs to use the database timestamp instead of the calendar.getInstance().getTime(). This will prevent queries from generating an error when trying to write to the log at the same time.

          Part of the problem is the PM user session log has a primary key in which two entries cannot have the same user and date-time. When a query runs it is the service account that is logged as the user. So if two or more people are running a query (ontology, setfinder, pdo, etc) and the crc is trying to write to the log at the exact same time, then only one entry will file and the other entries will error because the system thinks it is a duplicate.

          Temporary work around is to delete the constraint on the log.
          mem61 Mike Mendis made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          mem61 Mike Mendis made changes -
          Assignee Mike Mendis [ mem61 ] Janice Donahoe [ jmd86 ]
          Status In Progress [ 3 ] Ready to Test [ 10001 ]
          jmd86 Janice Donahoe made changes -
          Fix Version/s 1.7.09 [ 10306 ]
          jmd86 Janice Donahoe made changes -
          Status Ready to Test [ 10001 ] Testing [ 10002 ]
          jmd86 Janice Donahoe made changes -
          Resolution Fixed [ 1 ]
          Status Testing [ 10002 ] Resolved [ 5 ]
          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: