Lieutenant Commander
Lieutenant Commander
298 views

OO flow run logs in HCM

Hi Team,
I have encountered a strange issue this morning . I had scheduled a flow and the flow triggered and is been running for 8 hours . I tried cancelling it but it's showing pending cancel . I tried looking into the details but I can’t see anything it's blank .
The flow is basically using a SQL query to fetch some information from the DB . I initially thought DB is down but then there are other scheduled flows which uses similar SQL query to the query same DB and they are all working all fine .
So where can I find some logs related to this OO flow run .
The environment we are using is HCM 2019.02
So has anyone come across this issue ?

0 Likes
1 Reply
Vice Admiral
Vice Admiral

Hi,
This can happen in OO when you have a large Query and iterate across a large set of result or you have something where you have an extreme large result property.
If you have a blank flow shown in the Run Report you might have an issue with the OO DB. E.g.there was such a big data amount (e.g. stepresults) to be written to DB that failed to write ... can be multiple things depending on DB Type.
Pending Cancel usually happens when a particular Step is hanging. You can not cancel a pending Step in OO as far as I know. A Runcancelation will kick in between Steps.
So when you have an issue with one particular step usually you can only bail out with hard DB clean up methodes. If you are not familiar with this I suggest you contact support.
Bottom Line without having logs from System + architecture overview it is hard to advice.

Attached scripts for pending cleanup for OO 2018.05. you should have stopped OO.

hmmm cant attach files here for Oracle cancel pending cleanup procedure

-- *************************************************
-- Clear Pending Cancel Flows
-- *************************************************
-- This script will move all pending cancel flows to canceled state.
-- The execution data generated by these flows will be cleared by the purging flows / procedures
-- All executions canceled in this manner will have a duration of 0 seconds (start time = end time)
-- **************************************************
/* Clear Queues */
DELETE FROM OO_EXECUTION_QUEUES WHERE EXEC_STATE_ID IN (
  SELECT STS.ID FROM OO_EXECUTION_STATES STS INNER JOIN OO_EXECUTION_STATE ST
  ON STS.MSG_ID = ST.EXECUTION_ID
  WHERE ST.STATUS = 'PENDING_CANCEL');

DELETE FROM OO_EXECUTION_QUEUES WHERE EXEC_STATE_ID IN (
  SELECT STS.ID FROM OO_EXECUTION_STATES_1 STS INNER JOIN OO_EXECUTION_STATE ST
  ON STS.MSG_ID = ST.EXECUTION_ID
  WHERE ST.STATUS = 'PENDING_CANCEL');

DELETE FROM OO_EXECUTION_QUEUES WHERE EXEC_STATE_ID IN (
  SELECT STS.ID FROM OO_EXECUTION_STATES_2 STS INNER JOIN OO_EXECUTION_STATE ST
  ON STS.MSG_ID = ST.EXECUTION_ID
  WHERE ST.STATUS = 'PENDING_CANCEL');

DELETE FROM OO_EXECUTION_QUEUES_1 WHERE EXEC_STATE_ID IN (
  SELECT STS.ID FROM OO_EXECUTION_STATES STS INNER JOIN OO_EXECUTION_STATE ST
  ON STS.MSG_ID = ST.EXECUTION_ID
  WHERE ST.STATUS = 'PENDING_CANCEL');

DELETE FROM OO_EXECUTION_QUEUES_1 WHERE EXEC_STATE_ID IN (
  SELECT STS.ID FROM OO_EXECUTION_STATES_1 STS INNER JOIN OO_EXECUTION_STATE ST
  ON STS.MSG_ID = ST.EXECUTION_ID
  WHERE ST.STATUS = 'PENDING_CANCEL');

DELETE FROM OO_EXECUTION_QUEUES_1 WHERE EXEC_STATE_ID IN (
  SELECT STS.ID FROM OO_EXECUTION_STATES_2 STS INNER JOIN OO_EXECUTION_STATE ST
  ON STS.MSG_ID = ST.EXECUTION_ID
  WHERE ST.STATUS = 'PENDING_CANCEL');

/* Clear Events */
DELETE FROM OO_EXECUTION_EVENTS WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_EVENTS_1 WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_EVENTS_2 WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_EVENTS_3 WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_EVENTS_4 WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');

/* Clear Inputs/Outputs */
DELETE FROM OO_EXECUTION_BOUND_INPUTS WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_BOUND_OUTPUTS WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');

/*Clear Locks and Paused Data*/
DELETE FROM OO_RUNTIME_VALUE_STORE WHERE OWNER_ID IN (SELECT CAST (EXECUTION_ID AS VARCHAR2(255)) FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_FINISHED_BRANCHES WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_SUSPENDED_EXECUTIONS WHERE EXECUTION_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');

/*Clear State and States*/
DELETE FROM OO_EXECUTION_STATES WHERE MSG_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_STATES_1 WHERE MSG_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_STATES_2 WHERE MSG_ID IN (SELECT EXECUTION_ID FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL');
DELETE FROM OO_EXECUTION_STATE WHERE STATUS = 'PENDING_CANCEL';

/*Move execution summary to canceled */
UPDATE OO_EXECUTION_SUMMARY
 SET STATUS = 'CANCELED',
      CANCEL_REASON = 'MANUAL',
      END_TIME_LONG = START_TIME_LONG
 WHERE STATUS = 'PENDING_CANCEL';
COMMIT;

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.