APAR status
Closed as documentation error.
Error description
When a Project Template is applied to a Project in an Environment with two or more Workflow agents running, some of the created cost codes will have their Object Path corrupted in the IBS_Spec table. This corruption is visible through the system tab of the cost code where the hierarchy path will be missing all its ancestors and part of the publish name so that the path looks similar to \-99-IBM Cost code. These corrupt cost codes prevent the original budget roll up from working because the post transaction fails with the following similar error message: Caused by: com.tririga.platform.finance.service.PostTransactionException: In order to post a transaction, the cost code must be at least 2 levels deep in a cost code hierarchy. Cost code: \-999-IBM_Sample_Cost: SmartObjectImpl[ID=SmartObjectId[ID=19123260,Business Object ID=107260],Business Object=BoImpl[name=FinancialTransaction,id=107260,module=ModuleI mpl[name=System,id=18]]]
Local fix
The point of running multiple workflow servers is to allow workflow processing to be done so it if fair to all users, not necessarily to increase the throughput of the number of workflows done. Adding more workflow agents to an environment may actually slow down processing, and cause undesirable results if workflows are not written with multi-threading in mind. It is best practice to assign secondary workflow agents to specific power users that tend to execute more workflows than a normal user. If the secondary workflow agents are left wide open, a set of workflow instances will be picked up in parallel, and some may be processed out of order. It is important to know that my simply increasing the number of threads on a single process server, higher throughput could be had rather than splitting the threads across two servers. Typically the bottleneck of performance in the environment is the database server, and not the process server(s). If you already have a system deployed with multiple workflow agents, please consider either: - stopping the secondary agents, and increase the threads on the primary workflow agent server to be the sum of the threads across the other servers - or restricting the secondary agents so that they are exclusive for the set of power users.
Problem summary
We have targeted updating the documentation to clarify how multi-workflow agents should be used. An SMC wiki article will be updated with the informaiton.
Problem conclusion
The point of running multiple workflow servers is to allow workflow processing to be done so that it is fair to all users, not necessarily to increase the throughput of the number of workflows done. Adding more workflow agents to an environment can slow down processing, and cause undesirable results, if workflows are not written with multi-threading in mind. It is best practice to assign secondary workflow agents to specific power users that tend to run more workflows than a normal user. If the secondary workflow agents are left wide open, a set of workflow instances are picked up in parallel, and some can be processed out of order. It is important to know that increasing the number of threads on a single process server results in higher throughput than splitting the threads across two servers. Typically the bottleneck of performance in an environment is the database server, and not the process servers. If you already have a system that is deployed with multiple workflow agents, consider either: * stopping the secondary agents, and increasing the threads on the primary workflow agent server to be the sum of the threads across the other servers * or restricting the secondary agents so that they are exclusive for the set of power users.
Temporary fix
Comments
APAR Information
APAR number
IV72994
Reported component name
TRI APPLCATION
Reported component ID
5725F26AB
Reported release
332
Status
CLOSED DOC
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2015-05-05
Closed date
2015-05-06
Last modified date
2015-05-06
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSHEB3","label":"IBM TRIRIGA Application Platform"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"332","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]
Document Information
Modified date:
30 March 2022