You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by fa...@apache.org on 2013/11/07 18:52:34 UTC

svn commit: r1539735 - in /vcl/trunk/managementnode: bin/vcld lib/VCL/Module/State.pm

Author: fapeeler
Date: Thu Nov  7 17:52:34 2013
New Revision: 1539735

URL: http://svn.apache.org/r1539735
Log:
VCL-734

vcld: Added update_request_state before make_new_child for non-cluster requests
State.pm: moved close bracket to isolate state change to cluster reservations

Modified:
    vcl/trunk/managementnode/bin/vcld
    vcl/trunk/managementnode/lib/VCL/Module/State.pm

Modified: vcl/trunk/managementnode/bin/vcld
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/bin/vcld?rev=1539735&r1=1539734&r2=1539735&view=diff
==============================================================================
--- vcl/trunk/managementnode/bin/vcld (original)
+++ vcl/trunk/managementnode/bin/vcld Thu Nov  7 17:52:34 2013
@@ -359,6 +359,13 @@ sub main () {
 				my $computer_id = $data_structure->get_computer_id();
 				insertloadlog($reservation_id, $computer_id, "begin", "beginning to process, state is $request_state_name");
 				
+				# Update state to pending for non-cluster reservations to limit another attempt at processing 
+				if($reservation_count == 1) {
+					# Update the request state to pending
+					if (!update_request_state($request_id, "pending", $request_state_name)) {
+					   notify($ERRORS{'WARNING'}, 0, "failed to update request state to pending");
+					}
+				}
 				# Make a new child process, passing it the request/reservation info
 				make_new_child({request_info => \%request_info, data_structure => $data_structure});
 			} ## end foreach my $reservation_id (keys %{$info{request...

Modified: vcl/trunk/managementnode/lib/VCL/Module/State.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/State.pm?rev=1539735&r1=1539734&r2=1539735&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/State.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/State.pm Thu Nov  7 17:52:34 2013
@@ -178,11 +178,13 @@ sub initialize {
 			if (!$self->wait_for_child_reservations_to_begin('begin', 60, 3)) {
 				$self->reservation_failed("child reservation processes failed to begin");
 			}
-		}
 		
-		# Update the request state to pending
-		if (!update_request_state($request_id, "pending", $request_state_name)) {
-			notify($ERRORS{'WARNING'}, 0, "failed to update request state to pending");
+				
+			# Update the request state to pending for this cluster reservation.
+			# Single reservations are set to pending in vcld
+			if (!update_request_state($request_id, "pending", $request_state_name)) {
+				notify($ERRORS{'WARNING'}, 0, "failed to update request state to pending");
+			}
 		}
 	}
 	
@@ -549,7 +551,7 @@ sub state_exit {
 		
 		# Update the request state
 		if (!is_request_deleted($request_id)) {
-			notify($ERRORS{'OK'}, 0, "request has been deleted, NOT updating new state: $request_state_name_new old state: $request_state_name_old");
+			notify($ERRORS{'OK'}, 0, "request has NOT been deleted, updating new state: $request_state_name_new old state: $request_state_name_old");
 			if (!update_request_state($request_id, $request_state_name_new, $request_state_name_old)) {
 				notify($ERRORS{'WARNING'}, 0, "failed to change request state: $request_state_name_old/$request_laststate_name_old --> $request_state_name_new/$request_state_name_old");
 			}