You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vcl.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/10/17 21:16:34 UTC

[jira] [Commented] (VCL-793) Repeated vcld processes are forked for 'deleted' processes which fail to initialize

    [ 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)