v9.7.0
  • 14 Dec 2022
  • 4 読む分
  • PDF

v9.7.0

  • PDF

The content is currently unavailable in Ja - 日本語. You are viewing the default English version.
記事の要約

Enhancements in this Release v9.7.0

December 13th, 2022                                                                                                           Version 9.7.0


In this release, the CPU usage is now optimized for Refresh Services. The Instance Listing Page APIs are optimized for faster execution and improving the overall performance while loading the Instance Listing page. Also, for Workflow Instance Listing API, the team has added support for fetching attribute values for each instance by attribute names. An additional filter will expose the instances for the logged-in user, and the ownership is with the business entity. The performance of Instance History Page APIs is improved to fetch data faster while displaying it on the refresh history page. We added a "Keep Alive" agent on the Axios package so that the number of connections while querying ASIK can be reduced to the optimal connections.

Features Delivered in this Update

1. Improved CPU core usage for Refresh Services

The refresh services now use all the available CPU cores in the server, increasing service throughput and ensuring proper CPU resource utilization.

  • CPU usage is now optimized for refresh integrator service and refresh consumer service, using PM2 and cluster modes configurations to offer superior processing capabilities. The codebase now executes on all available CPU cores resulting in:  
    • Balanced load distribution. 
    • Superior application performance.
    • Better resource utilization.

2. Workflow Instance Listing Page Optimization

The Instance Listing Page APIs of Workflow Management Service are optimized for enabling faster execution as well as improving the overall performance while loading the Instance Listing page.

  • Parallel execution is done to reduce the time taken by independent DB calls.
  • Code refactoring and optimizations are done to improve code quality. 
  • Limited the scope of variables to minimize the heap usage.
  • Removed unwanted asynchronous calls to avoid unnecessary blocking of the event loop.
  • The codebase now executes with improved performance resulting in: 
    • The superior performance of workflow instance listing page.
    • Minimal heap usage.
    • Improved code quality.

Logging Framework Feature:

  • A logging framework has been set up throughout the workflow management service:
    • It keeps track of the request's life cycle as it moves through the microservice.
    • Log levels can be selected depending on the situation, and a parameter correlation id can be added to track the request in the logs.
    • Currently, logging via a logging framework is applicable, for instance listing page APIs only and all the functions called internally within them.

3. Instance Refresh History Page Optimization

The performance of Instance History Page APIs is improved to fetch data faster while displaying it on the refresh history page.

  • The instance refresh history page uses the three major endpoints to fetch the data for the instance refresh history flow: 
    • Get paginated auto refresh upload list for system monitor.
    • Get paginated instance refresh list for system monitor.
    • Get workflow refresh list for system monitor.
  • The optimization is done for the flows mentioned above, which will enable the system to perform faster, reduce the execution time in loading the data on the refresh history page, and allow the system to gear up with the heap out of memory exception problem.
    • A new endpoint to fetch the workflow refresh lists from the database is created and paginated to control the volume of data.
    • Several unnecessary database calls were replaced only with the relevant calls with proper indexing on the keys to reduce the execution time for fetching the data for the instance refresh history page.
    • Code refactoring and optimization is done, and event loop latency is reduced.

4. Addition of attribute name support in Paginated Instance Listing API

For Workflow Instance Listing API, we added support for fetching the attribute value for each instance by attribute names. An additional filter will expose the instances for the logged-in user, and the ownership is with the business entity.

  • We have introduced the functionality to get the attribute values via attribute names in addition to attribute IDs.
Addition of only assigned to my group support in Paginated Instance Listing API:
  • Support is now available to get the instances associated with the current group ownership.
  • A Boolean filter “only_assigned_to_my_group” is available as a query parameter for the paginated instance listing API.
  • Based on the logged-in user, instances will be displayed as an owner.
Impact Analysis:
  • In the instance listing paginated API, we have added "only_assigned_to_my_group" for a query parameter. It's an optional parameter with a default value of false. If the value for this parameter passes as false, there is no response change. If true is passed as the value, those will be visible for the participant's group or belong to the owner user group.
  • In the monitor user case, the disputed instances will appear as they are currently in ownership of the monitor. For the operators, all the instances for the workflow will be visible.

5. Addition of KeepAlive Agent in DL Core Services

The "Keep Alive" agent is added on top of axios package while querying ASIK to reach the optimal number of connections.

  • Reduced the overall number of connections to reach the optimal connections and increased throughput by addition of Keep Alive agent.
  • The services impacted by adding Keep Alive agent while querying ASIK are as follows: 
    • DAT Reporting service
    • Instance Refresh Consumer service
    • Instance Refresh Integrator




For any questions, please email us at dl.releasenotification@dltlabs.io


この記事は役に立ちましたか?

What's Next
Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.