IV94801: TRUNCATE WF_INSTANCE errors in the server log

We’re seeing the following error in the server log:

Error executingsql: Sql[SQL=TRUNCATE WF_INSTANCE,DB transaction ID=(None)] Caused by: StatementCallback; bad SQL grammar [TRUNCATE WF_INSTANCE]; nested exception is java.sql.SQLException: Incorrect syntax near 'WF_INSTANCE'. [MID-2877677308]
Error executing sql: Sql[SQL=TRUNCATE WF_INSTANCE,DB transaction ID=(None)] Caused by: StatementCallback; bad SQL grammar [TRUNCATE WF_INSTANCE]; nested exception is java.sql.SQLException: Incorrect syntax near 'WF_INSTANCE'.

When WF_INSTANCE (workflow instances) are a high number, the TRUNCATE option runs into problems in some situations. Moving forward, we resolved an issue where massive amounts of workflow instances were running into an error when cleaning them up via the Platform Maintenance Scheduler (formerly Cleanup Agent).

Continue reading

IV94364: Platform not committing temp data for “Audit All Data”

When “Audit All Data” is turned on for a BO, the TRIRIGA platform is not correctly committing temporary data for records based on that business object. It appears that the “Save Permanent Record” workflow tasks (which are meant to commit temporary data for records of the BO) are trying to execute an audit of the object before it is created.

We needed to catch the SmartObjectNotFound exception… when smart section instance data is not committed, the parent record is committed, and “Audit All Data” is enabled. We improved how the exception is processed when temporary data is committed on a business object with auditing.

Continue reading

What is the TASK_RESULT_LIST table and CLEAN_TIMEOUT property?

In one of our production instances, we have a table called TASK_RESULT_LIST containing almost one billion rows. What is the intent of that table and is there someway we can clean it up?

Anyway, when the Cleanup Agent runs, it is stopped with an Agent Interrupt Exception after 120 minutes (as per CLEAN_TIMEOUT in TRIRIGAWEB.properties). Though, it seems the Cleanup Agent doesn’t start the next day when that happens (or any following day until the process server is restarted). Is there some flag saying that the agent is already running and that flag is not getting reset when the agent is stopped due to hitting the CLEAN_TIMEOUT?

That TASK_RESULT_LIST is used to record workflow step instances. It is not safe to directly modify the table. The Cleanup Agent (a.k.a. Platform Maintenance Agent) is supposed to keep this table clean. Check the following TRIRIGAWEB.properties…

To help work around this, I would set the CLEAN_TIMEOUT property to 300. This will allow the Platform Maintenance Agent to run for a longer amount of time and clean up more records. The reason the table got so large, is that you had workflow instance recording on. Our recommendation is that workflow instance recording is never run in production, or for long periods of time. It is also not safe to truncate that table, as user action and approval tasks would be deleted and would no longer process. We also increased the default value of CLEAN_TIMEOUT to 300 in our next release…

Continue reading

Does IBM TRIRIGA support multiple browser tabs for same server?

Does IBM TRIRIGA support multiple tabs on an internet browser for the same server? I want to open multiple tabs to open new sessions for the same server. Does IBM TRIRIGA support that?

No, this is not supported. Use a different internet browser instance or product for this purpose. When you open a connection to a server, the internet browser instance running will create files into the temporary folder or directory for that on the local or client machine. This includes cookies and authorization token information as well.

If you use the same internet browser instance and open multiple tabs accessing the same server, this will use the same temporary folder or directory area on the local or client machine. The same file names (conventions) will be used also since this is the same server being accessed. The second tab will be replacing the previous files and losing the connection information, and then invalidating any access to that server from that user.

Continue reading

What is the best practice for OM deployment on multiple instances?

We have multiple TRIRIGA instances on our production environment. I’m wondering what is the best practice for deploying an object migration (OM) package in this kind of environment? Should we keep only one instance alive (and stop all of the other servers) before deploying the OM package?

Continue reading

IV92172: The “My Profile” record is not successfully deleted

By removing the “Active TRIRIGA User” flag from an employee record which has been referenced in the task records, the My Profile record is not successfully deleted from the instance of workflow “triPeople – Synchronous – Remove TRIRIGA User My Profile”. Instead, it displays an error message: “This record cannot be transitioned into a null state because it is referenced in another record.”

Continue reading

Why does setting stuck Workflow Instances to “Always” fix this?

We have an issue where stuck workflows will hang and not complete when we have Workflow Instance Recording set to “Errors Only”. It doesn’t happen every time and we haven’t found a way to recreate it. However, when we turn Workflow Instance Recording to “Always” on the server where the workflow is running, the workflow will complete. This occurs in both and 3.5.1.x.

Has anyone seen this or know of a solution? We don’t want to have instance recording set to “Always” in Production.

[Admin: This post is related to the 05.09.16 post about workflows getting stuck, and the 04.26.16 post about performance when workflow instances are saved.]

Continue reading