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