Details
-
Type:
Bug
-
Status:
Ready for QA
(View Workflow)
-
Priority:
Normal
-
Resolution: Unresolved
-
Component/s: None
-
Labels:None Labels
-
Customer:Mobinets
-
Complexity:Medium
-
REQUESTER:INTERNAL
Description
While cancelling an order, the FN service retrieves the Flowable process variables "oldServiceType" and "oldSubscriberIps" from the Flowable DB using the passed variable "fWOID".
Currently, these variables are fetched for all operation types of the order (8 types: Activation, Termination, etc.),
even though they are only required in specific cases:
oldSubscriberIps → required only for operation "IP Management"
oldServiceType → required only for operations:
-"Shifting Installation"
- "Add Service"
During testing on the cloud version, a performance issue was identified:
-Fetching both variables from the Flowable DB can take more than 10 seconds
-The cost is incurred even when the variables are not needed
Root Cause:
-Unconditional retrieval of Flowable variables for all operation types, causing unnecessary DB calls and latency.
Proposed Solution:
-Refactor the variable retrieval logic to:
-Avoid reading variables for all operation types
-Fetch variables only when required, based on the operation type:
-Retrieve oldSubscriberIps only for "IP Management"
-Retrieve oldServiceType only for "Shifting Installation" and "Add Service"
-Read only the single required variable instead of both
Expected Benefit:
-Reduce unnecessary Flowable DB calls
-Improve order cancellation performance
-Eliminate the ~10s delay observed in the cloud environment