KFS Archive
  1. KFS Archive
  2. KFSOLD-30288

Improve performance of autoClosePurchaseOrder Job and fix OptimisticLockException risk

    Details

    • Type: Performance Improvement Performance Improvement
    • Status: Resolved Resolved
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: Canceled/Declined
    • Labels:
      None
    • Sub-Committee:
      AP / DV / PDP
    • Impacted Modules:
      Purchasing / Accounts Payable
    • Contributing Partner:
      Indiana University
    • Rice Change Required?:
      No

      Description

      https://uisapp2.iu.edu/jira-prd/browse/FSKI-440

      1. Filtering POs on app doc status to get the open POs takes too much time while running autoClosePurchaseOrder job. The reason is the filterDocumentsForAppDocStatusOpen() method calls getDocumentHeader().getWorkflowDocument(). This can be fixed by using the KFS doc header table to get the app doc status instead.

      Note - Before contributing the fix we have some cleanup work to do. We need to investigate getAllOpenPurchaseOrders method to see whether it can be combined with the above method. Currently this is returning not only the open POs but closed ones too.

      Also, currently there is a class level @Transactional annotation in PurchaseOrderServiceImpl class. Therefore it applies to all the methods including autoCloseFullyDisencumberedOrders() method. This causes rolling back everything (could be thousands of documents that could have been already closed) when a failure occurs. As a solution we removed class level annotation and push it down to the method level except autoCloseFullyDisencumberedOrders method. However, the logic inside for loop was split out and made transactional.

      2. Add autoClosePurchaseOrdersStep dependency on GL clearPendingEntriesStep to avoid OptimisticLockException due to PLEs being updated

      JIRA COMMENTS

      Kalani Ruwanpathirana added a comment - 16/Mar/15 4:45 PM - edited
      Ref -
      Code from FSKD-7762
      https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13796
      https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13827
      https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13931
      https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13935
      Note that we need to add any code changes from FSKI-439 too.

      Philip Berg added a comment - 19/May/15 3:55 PM
      Edited jira to capture that we also wish to contribute a quartz dependency from autoClosePurchaseOrder Job on clearPendingEntries job. That is because it currently has a risk to OptimisticLockException due to PLEs being updated.

        Activity

        Show
        Kalani Ruwanpathirana added a comment - - edited Ref - Code from FSKD-7762 https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13796 https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13827 https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13931 https://test.uisapp2.iu.edu/fisheye-stg/changelog/FS-SVN?cs=13935 Note that we need to add any code changes from FSKI-439 too.
        Hide
        Philip Berg added a comment -

        Edited jira to capture that we also wish to contribute a quartz dependency from autoClosePurchaseOrder Job on clearPendingEntries job. That is because it currently has a risk to OptimisticLockException due to PLEs being updated.

        Show
        Philip Berg added a comment - Edited jira to capture that we also wish to contribute a quartz dependency from autoClosePurchaseOrder Job on clearPendingEntries job. That is because it currently has a risk to OptimisticLockException due to PLEs being updated.
        Hide
        Heather Elyea added a comment -

        most changes already included in baseline; FINP-1590 adding an additional performance improvement which covers this jira

        Show
        Heather Elyea added a comment - most changes already included in baseline; FINP-1590 adding an additional performance improvement which covers this jira

          People

          • Assignee:
            Unassigned
            Reporter:
            Heather Elyea
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Structure Helper Panel