Use the following checklist to determine if this issue is occuring on your instance:
* The push record exists in the parent instance.
* The push record is not in a completed state.
* The push has finished processing:
* The associated workflow context is finished (not cancelled).
* The sys_mutex for team development is available.
* The related local update set is committed (the update set will have the same name as the push record).
Steps to Reproduce
No specific steps to reproduce are available, but the issue has typically been seen on systems where the parent is "busy" at the time the push is processed. This provides a small window of opportunity for the status to be overwritten by the workflow engine after the push has completed.
If your instance is running an affected version (see the Seen In list below), the steps below can be used to fix a push that is "stuck."
- Confirm that all push/pull versions associated to your push have a State of Push Committed.
- Verify that the team development workflow has finished.
- Navigate to Workflow > All Contexts.
- Find the Team Development Code Review workflow version with the ID that matches the name of your push.
- For the matching workflow context, see if the State is Finished.
- Do one of the following:
- If the State is not Finished, keep waiting. Hopefully the push completes on its own. Do not perform any more steps.
- If the State is Finished, continue with the steps below.
- After verifying that the workflow is Finished, confirm that the team_development mutex is available.
- In the Application Navigator, type sys_mutex.list into the filter field.
- On the mutex list, filter on Name = team_development.
- If no row is found, the team_development mutex is available.
- If a row is returned and System ID=available, Acquired is empty, and Touched is empty, then the team_development mutex is available.
- If the System ID is not available or the Acquired/Touched fields are not empty, then the mutex is not free.
- If team_development is available, continue with the steps below. If the mutex is not available, then the push is still in progress or there is a different issue occuring.
- Confirm that the related local update set for the push has a status of Completed.
- Navigate to Update Sets > Local Update Sets.
- Find the update set that matches the same name as your push.
- Confirm that the state of the update set is Committed.
- After confirming that the push was successful, finish the push using the commitVersions script below. Get the pushID by going to the push record and using the Copy sys_id action. If the script fails, check again to ensure all the pre-requisites are met.
- Navigate to the Team Development dashboard on the child should trigger the system to refresh the status of the push record on the child.
The push status should now show Completed on both the parent and the child.
Related Problem: PRB730569