Skip to main content
18-Opal
May 5, 2016
Solved

Promotion Request Review Process hangs...

  • May 5, 2016
  • 4 replies
  • 8962 views

On my test system, I am experimenting with Lifecycles, OIRs, ACLs, Roles, Types for WTDocuments and EPMDocuments.   I evidently didn't do something right, and now when I try to run a Promotion Request Review to the Released State for an EPMDOC, the process doesn't complete and sometimes I get a “Error: Stalled (Failed queue entry)” error.


Any suggestions on what I should do to fix?   I am afraid I made enough changes that I am having trouble narrowing it down.


-marc


Best answer by mdebower

To follow up, we got to the bottom of this issue.  We had installed some third party utilities on the Test Server to perform some unrelated tasks.  They weren't completely configured, and there was a missing queue that one of the utilities needed.  That is what was causing the error.

We disabled the utility and the promotion request works.

4 replies

1-Visitor
May 5, 2016

Marc,

If there's a failed queue entry, it is likely in the WfUserWorkQueue or WfPropagationQueue.  If you go there, there should be a link to open up the workflow process for the Promotion Request that is in error.  From there, you should be able to see a particular task with an error (background that is not green) or a task that has occurred but following tasks did not when it should have.  If you click on the last run task or the errored task, you should be able to see an error stack for it.

You can also check methodserver logs if you can nail down the time that the queue entry was run.

Out of curiosity, can you go into a bit of detail on what you are attempting to implement in your modification to Promotion Request?

mdebower18-OpalAuthor
18-Opal
May 5, 2016

Hey Bob,

I am not changing the Promotion Request, at all.  I am mainly trying to implement a new lifecycle for EPMDocs.  To do so, I defined a CAD Author role, document type, some OIRs and ACLs in addition to the lifecycle.

When I had that all in place, I started testing and ran into this issue with the promo request.

-marc

1-Visitor
May 5, 2016

Understood.

Likely a dumb question, but have you set the "Promote" transitions in your life cycle template appropriately?

Regardless, can you still identify the bot/task that the failed queue entry corresponds to?  It will help with troubleshooting.

1-Visitor
May 10, 2016

Hi there,

A "Failed queue entry" error is always caused by a code error. You told the system to do something to an object that it is incapable of doing; the most common source of this error that I've found (i.e. me screwing something up and it blowing up in my face with that error ) is trying to use a state-setting command on an object that the object's Lifecycle Template doesn't have defined. This can happen in two different ways:

  1. You used a Set State robot/code script in a Workflow to try and set an object like a part to a State that its Lifecycle Template doesn't have, for example, if your Promotion Request Lifecycle Template has only the states New, In Work, Released and you tried to use a Set State robot to move it to Obsolete.
  2. You tried to use one of the state Transition signals (Change, Lock, Obsolescence, Production Released, Promote, Refine, Review, Revise or Set State) on an object likely within a workflow, and that transition has not been defined for the State that the object was in when it saw the signal. For example, the Change transition is the one found at the end of the OOTB Change Notice workflow and is supposed to release all Resulting Objects in the change tasks to their released state. If you have a Resulting Object at the In Work state, such as an EPMDoc, it receives that Change signal but you have not defined any Change transition (checkmark) in the In Work state of the EPMDoc's Lifecycle Template, it won't know where to go when it gets that transition signal.

There may be other causes of a Failed Queue Entry error, but 100% of the instances I've been hit with it have been caused by one of the two situations above. So very carefully look at all of the parts of your workflows that can change the State of something and at the Lifecycle Templates of all of the objects they can affect, and make sure that everything has the required definitions for those signals to work.

Daryl

1-Visitor
May 26, 2016

Actually going to expand on my previous post. It turns out there's another key source of "Failed queue entry": a hidden syntax failure on any transition within a task. I literally got hit by one of these 10 minutes ago. From what I can tell, on every user task the system does a quick syntax check on EVERY Transition code segment, even ones that you don't have defined to fire. If there's a problem with any of them, bam. Done. It freezes and you get Failed Queue Entry. For my particular very recent example there was some random old variable I never defined in the ass-end of nowhere on a Transition we never use which had no initial setup declaration, likely from a very old previous iteration on the code on a rarely-used process routing.

So Marc, if you haven't found the source of those Failed Queue Entry problems, take one of the Promotion Requests that did hang with Failed Queue Entry and look for the user task that was supposed to start but didn't (whatever task is immediately after the last Executed step, if the last executed step goes to multiple simultaneous tasks check ALL of them), go into the workflow and Syntax Check every single Transition (or code script for a non-user task that was supposed to start).

mdebower18-OpalAuthor
18-Opal
May 10, 2016

Our story so far....

So I took Bob's advice and started looking at the logs more closely, and noticed this:

wt.pom.PersistenceException: A nested transaction cannot be started when a rollback in in progress.

I did some searching on the knowledge base, and found that this might because of a missing lock transition.  (PTC TS article: CS1437)  Which is along the lines of what Daryl was mentioning.

So hopefully making progress, but not out of the woods just yet.

1-Visitor
May 10, 2016

A missing Lock transition? That's an interesting one; for our WTParts which are the only objects we use Promotions on we don't have any Lock transitions defined anywhere, but the promotions still work. Looking at the online help, the Lock transition "Works in conjunction with the Promote state transition when a different set of access policies are desired, when promotion requests are under review and seek approval. This transition is only valid for promotion requests and is only used as an interim state for the duration of the Promotion process".

Anyone happen to know what that actually means, since our Promotion Requests work just fine without any Lock transitions defined?

mdebower18-OpalAuthor
18-Opal
May 10, 2016

Yeah,  I experimented with adding and removing lock transistions in the lifecycle and it didn't seem to make a difference in my case...  

mdebower18-OpalAuthorAnswer
18-Opal
May 26, 2016

To follow up, we got to the bottom of this issue.  We had installed some third party utilities on the Test Server to perform some unrelated tasks.  They weren't completely configured, and there was a missing queue that one of the utilities needed.  That is what was causing the error.

We disabled the utility and the promotion request works.