<< Back to previous view

[QB-1011] When a configuration calls another configuration the wait till finished is not followed.
Created: 15/Aug/11  Updated: 16/Oct/11

Status: Resolved
Project: QuickBuild
Component/s: None
Affects Version/s: 3.1.45
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: Crossview Inc. Assigned To: Robin Shen
Resolution: Cannot Reproduce Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown
Environment: ALL


 Description   
I have a configuration that calls another configuration and the wait till finished flag does not seem to work. It returns within 200-300 ms and runs the other config but continues on and does not wait. Both are setup as sequential configs. I have the first config setup to use a queue that has only one worker thread and the second config had to run on another queue or the second would get stuck waiting on the first.

 Comments   
Comment by Robin Shen [ 15/Aug/11 11:56 PM ]
The configuration to be triggered might has been triggered by another configuration in the same trigger chain. That is, if A trigges B and C, and then B triggesC, the trigger step of B might finish immediately if C has already been built when triggered from A.
If this is not the case, please create a test case to demonstrate the problem, and then send the database backup of the test case.
Comment by Crossview Inc. [ 19/Aug/11 10:37 PM ]
In my case config A calls Config B and config B has multiple steps. This all seems to work fine as long as I have them using the same Queue but in this case I have a queue with a single worker thread to not allow multiple calls to config A type of configurations before it finishes. Config B is using a different Queue that has many worker threads. So my thinking is somehow the change to use different Queues changes the workflow. Do you still need a sample?
Comment by Robin Shen [ 20/Aug/11 01:40 AM ]
I followed your scenario, but still can not get it reproduced. This is what I am doing:
1. create configuration root/A, and root/B
2. create two queue, A and B, A has one worker, and B has five workers.
3. modify root/A to use queue A, and root/B to use queue B.
4. add a step to root/A to trigger root/B with "wait for finish" set to "always".
5. add several sleep steps to root/B to sleep for some time.
6. trigger root/A and root/B will be triggered by root/A as a result.
7. root/A will run until root/B finishes, and this is expected.

Comment by Robin Shen [ 16/Oct/11 12:26 AM ]
Can not reproduce. Please re-open by providing more info.
Generated at Thu May 16 08:22:15 UTC 2024 using JIRA 189.