XMLWordPrintable

Details

    Description

      Current Stuation

      • The History Service uses a caching mechanism to reduce database transactions.
      • The History Service creates its own cache objects based on the following JS7 objects:
        • Workflows
          • each workflow used is added to the cache and remains in the cache.
        • Orders
          • an order and possible child orders (Fork/Join Instruction) are added to the cache and are removed when an order is terminated (OrderCancelled, OrderFinished, OrderBroken).
            • orders that are not completed and are e.g. in a failed, suspended state, remain in the cache:
            • child orders (Fork instruction) are not removed from the cache, which can cause an OutOfMemory exception.
        • Order Steps/Jobs

      Desired Behavior

      • The History Service should have a robust caching mechanism.
      • In addition to the correct add/remove operations from the History Cache, the History Service should start a routine every hour to clean up cached Workflows/Orders/Order Steps that are still present but no longer in use (garbage collection).

      Test Instructions

      • Create and start a workflow (use Fork/Join Instruction)
      • Check the logs/service-history.log file and look for [cached workflows=<n>,orders=<n>,steps=<n>] at the end of each history line
        • Expected result:
          • Finished/Cancelled/Broken Orders with all child orders and steps should be removed from the History Cache immediately.
          • Failed/Suspended Orders and Workflows should be removed after 1 hour

      Attachments

        Activity

          People

            re Robert Ehrlich
            re Robert Ehrlich
            Pratishtha Pandey Pratishtha Pandey
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: