[ 
https://issues.apache.org/jira/browse/VCL-793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14175411#comment-14175411
 ] 

ASF subversion and git services commented on VCL-793:
-----------------------------------------------------

Commit 1632652 from [~arkurth] in branch 'vcl/trunk'
[ https://svn.apache.org/r1632652 ]

VCL-793
Updated State.pm::reservation_failed to catch a case where a 'deleted' process 
failed. The code was just checking for is_request_deleted, then setting the 
computer to available and leaving the request state intact. This caused vcld to 
attempt to spawn deleted processes indefinitely if there was a problem with the 
host.

VCL-685
Added DESTROY subroutine to vSphere_SDK.pm with an explicit call to 
Util::disconnect. The call is wrapped in an eval block and the die handler is 
overridden. Hoping to fix intermittent condition where die is called 
automatically when a process exits.

> Repeated vcld processes are forked for 'deleted' processes which fail to 
> initialize
> -----------------------------------------------------------------------------------
>
>                 Key: VCL-793
>                 URL: https://issues.apache.org/jira/browse/VCL-793
>             Project: VCL
>          Issue Type: Bug
>          Components: vcld (backend)
>    Affects Versions: 2.3.2
>            Reporter: Andy Kurth
>            Assignee: Andy Kurth
>             Fix For: 2.4
>
>
> When vcld tries to process a request in the deleted state and the 
> initialization of all the corresponding objects fails, the request state may 
> be left as 'deleted' after the process exits.  This causes vcld to fork a 
> process over and over again.
> This will occur if there is a problem which causes the provisioning object to 
> fail to initialize.  As a result, State.pm::reservation_failed is called.  
> This has a condition at the beginning which calls is_request_deleted.  This 
> returns true.  The code then proceeds to only set the computer state to 
> available and leaves the request state intact.
> This is a problem because the failure occurred before the request state was 
> even updated to pending.  vcld keeps trying to fork processes, all of which 
> fail.
> A solution would be to catch this and set the computer state to failed and 
> the request state to complete.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to