121 references to BuildRequest
Microsoft.Build (121)
BackEnd\Components\Scheduler\SchedulableRequest.cs (10)
343BlockingRequestKey key = new BlockingRequestKey(blockingRequest.BuildRequest); 467public bool IsProxyBuildRequest() => BuildRequest.IsProxyBuildRequest(); 518SchedulableRequest alternateRequest = _schedulingData.GetBlockedRequestIfAny(blockingRequest.BuildRequest.GlobalRequestId); 533if (requestToEvaluate.BuildRequest.GlobalRequestId == this.BuildRequest.GlobalRequestId) 544requestToEvaluate = _schedulingData.GetBlockedRequestIfAny(requestToEvaluate.BuildRequest.GlobalRequestId); 594if (currentRequest.BuildRequest.GlobalRequestId == blockingRequest.BuildRequest.GlobalRequestId) 615BlockingRequestKey key = new BlockingRequestKey(requestWeAreBlockedBy.BuildRequest); 632throw new SchedulerCircularDependencyException(requestCausingFailure.BuildRequest, ancestors);
BackEnd\Components\Scheduler\Scheduler.cs (73)
343return request?.BuildRequest; 395TraceScheduler($"Circular dependency caused by request {ex.Request.GlobalRequestId}({ex.Request.ConfigurationId}) (nr {ex.Request.NodeRequestId}), parent {parentRequest.BuildRequest.GlobalRequestId}({parentRequest.BuildRequest.ConfigurationId}) (nr {parentRequest.BuildRequest.NodeRequestId})"); 396responses.Add(ScheduleResponse.CreateCircularDependencyResponse(nodeId, parentRequest.BuildRequest, ex.Request)); 408TraceScheduler($"Circular dependency caused by request {ex.Request.GlobalRequestId}({ex.Request.ConfigurationId}) (nr {ex.Request.NodeRequestId}), parent {parentRequest.BuildRequest.GlobalRequestId}({parentRequest.BuildRequest.ConfigurationId}) (nr {parentRequest.BuildRequest.NodeRequestId})"); 409responses.Add(ScheduleResponse.CreateCircularDependencyResponse(nodeId, parentRequest.BuildRequest, ex.Request)); 447Assumed.Equal(result.ParentGlobalRequestId, request.Parent.BuildRequest.GlobalRequestId, "Result's parent doesn't match request's parent."); 456ScheduleResponse response = TrySatisfyRequestFromCache(request.Parent.AssignedNode, request.BuildRequest, skippedResultsDoNotCauseCacheMiss: _componentHost.BuildParameters.SkippedResultsDoNotCauseCacheMiss()); 484if (unscheduledRequest.BuildRequest.GlobalRequestId == result.GlobalRequestId) 486TraceScheduler($"Request {unscheduledRequest.BuildRequest.GlobalRequestId} (node request {unscheduledRequest.BuildRequest.NodeRequestId}) also satisfied by result."); 487BuildResult newResult = new BuildResult(unscheduledRequest.BuildRequest, result, null); 500ScheduleResponse response = TrySatisfyRequestFromCache(parentNode, unscheduledRequest.BuildRequest, skippedResultsDoNotCauseCacheMiss: true); 505LogRequestHandledFromCache(unscheduledRequest.BuildRequest, response.BuildResult); 527_noLoggingCompletedSubmissionDetails = $"SubmissionId: {unscheduledRequest.BuildRequest.SubmissionId}; BuildRequestDataFlags: {unscheduledRequest.BuildRequest.BuildRequestDataFlags}"; 623if (request.BuildRequest.SubmissionId == submissionId) 911ReadSchedulingPlan(_schedulingData.GetRequestsByHierarchy(null).First().BuildRequest.SubmissionId); 1006SchedulingPlan.PlanConfigData configToConsider = _schedulingPlan.GetConfiguration(request.BuildRequest.ConfigurationId); 1039AssignUnscheduledRequestsToInProcNode(responses, idleNodes, request => IsTraversalRequest(request.BuildRequest)); 1140int requiredNodeId = _schedulingData.GetAssignedNodeForRequestConfiguration(unscheduledRequest.BuildRequest.ConfigurationId); 1144System.IO.FileInfo f = new FileInfo(_configCache[unscheduledRequest.BuildRequest.ConfigurationId].ProjectFullPath); 1182int requiredNodeId = _schedulingData.GetAssignedNodeForRequestConfiguration(unscheduledRequest.BuildRequest.ConfigurationId); 1186System.IO.FileInfo f = new FileInfo(_configCache[unscheduledRequest.BuildRequest.ConfigurationId].ProjectFullPath); 1224BuildRequest currentRequest = currentSchedulableRequest.BuildRequest; 1398int requiredNodeId = _schedulingData.GetAssignedNodeForRequestConfiguration(request.BuildRequest.ConfigurationId); 1410TraceScheduler($"Chose not to assign request {request.BuildRequest.GlobalRequestId} to node {nodeId} because its count of configurations ({configurationCountsByNode[nodeId]}) exceeds the current limit ({configurationCountLimit})."); 1432bool mustSendConfigurationToNode = _availableNodes[nodeId].AssignConfiguration(request.BuildRequest.ConfigurationId); 1436BuildRequestConfiguration config = _configCache[request.BuildRequest.ConfigurationId]; 1444responses.Add(ScheduleResponse.CreateScheduleResponse(nodeId, request.BuildRequest, mustSendConfigurationToNode)); 1445TraceScheduler($"Executing request {request.BuildRequest.GlobalRequestId} on node {nodeId} with parent {(request.Parent == null ? -1 : request.Parent.BuildRequest.GlobalRequestId)}"); 1520NodeAffinity affinity = GetNodeAffinityForRequest(request.BuildRequest); 1557int assignedNodeForConfiguration = _schedulingData.GetAssignedNodeForRequestConfiguration(request.BuildRequest.ConfigurationId); 1567NodeAffinity affinityRequired = GetNodeAffinityForRequest(request.BuildRequest); 1683_resultsCache.AddResult(new BuildResult(request.BuildRequest, new BuildAbortedException())); 1710blockingRequest.BuildRequest.ConfigurationId == blockedRequest.BuildRequest.ConfigurationId && 1729BuildRequest newRequest = new BuildRequest(parentRequest.BuildRequest.SubmissionId, BuildRequest.ResultsTransferNodeRequestId, parentRequest.BuildRequest.ConfigurationId, [], null, parentRequest.BuildRequest.BuildEventContext, parentRequest.BuildRequest, parentRequest.BuildRequest.BuildRequestDataFlags); 1741BuildRequestConfiguration configuration = _configCache[parentRequest.BuildRequest.ConfigurationId]; 1824existingRequestAffinity = GetNodeAffinityForRequest(existingRequest.BuildRequest); 1873responses.Add(ScheduleResponse.CreateResumeExecutionResponse(parentRequest.AssignedNode, parentRequest.BuildRequest.GlobalRequestId)); 1898TraceScheduler($"Unblocking request {request.BuildRequest.GlobalRequestId} on node {nodeId}"); 1901ScheduleResponse response = ScheduleResponse.CreateResumeExecutionResponse(nodeId, request.BuildRequest.GlobalRequestId); 1918ScheduleResponse response = TrySatisfyRequestFromCache(nodeForResults, request.BuildRequest, skippedResultsDoNotCauseCacheMiss: _componentHost.BuildParameters.SkippedResultsDoNotCauseCacheMiss(), allowedTopLevelTargets: GetIsolationAllowedTopLevelTargets(request.Parent, request.BuildRequest)); 1924LogRequestHandledFromCache(request.BuildRequest, response.BuildResult); 1935LogRequestHandledFromCache(request.BuildRequest, response.Unblocker.Result); 1938TraceScheduler($"Reporting results for request {request.BuildRequest.GlobalRequestId} with parent {request.BuildRequest.ParentGlobalRequestId} to node {response.NodeId} from cache."); 1953CheckIfCacheMissOnReferencedProjectIsAllowedAndErrorIfNot(nodeForResults, request.BuildRequest, responses, emitNonErrorLogs: false); 2047BuildRequestConfiguration parentConfig = _configCache[parentRequest.BuildRequest.ConfigurationId]; 2131if (blockedRequest.BuildRequest.GlobalRequestId == request.ParentGlobalRequestId) 2133configurationId = blockedRequest.BuildRequest.ConfigurationId; 2142if (executingRequest.BuildRequest.GlobalRequestId == request.ParentGlobalRequestId) 2144configurationId = executingRequest.BuildRequest.ConfigurationId; 2372if (TargetsMatch(requestTargetsSet, existingRequest.BuildRequest.Targets)) 2374request.GlobalRequestId = existingRequest.BuildRequest.GlobalRequestId; 2477int workId = useConfigurations ? buildEvent.Request.BuildRequest.ConfigurationId : buildEvent.Request.BuildRequest.GlobalRequestId; 2673useConfigurations ? request.BuildRequest.ConfigurationId : request.BuildRequest.GlobalRequestId, 2677_configCache[request.BuildRequest.ConfigurationId].ProjectFullPath, 2678String.Join(", ", request.BuildRequest.Targets)); 2810executingRequest.BuildRequest.GlobalRequestId), 3004var buildRequest = request.BuildRequest;
BackEnd\Components\Scheduler\SchedulingData.cs (32)
270if (!_configurationToRequests.TryGetValue(request.BuildRequest.ConfigurationId, out requests)) 273_configurationToRequests[request.BuildRequest.ConfigurationId] = requests; 286Assumed.True(_buildHierarchy.ContainsKey(parent), $"Parent doesn't exist in build hierarchy for request {request.BuildRequest.GlobalRequestId}"); 302_blockedRequests.Remove(request.BuildRequest.GlobalRequestId); 306_yieldingRequests.Remove(request.BuildRequest.GlobalRequestId); 314_executingRequests.Remove(request.BuildRequest.GlobalRequestId); 319_readyRequests.Remove(request.BuildRequest.GlobalRequestId); 338Assumed.False(requestsAssignedToNode.Contains(request), $"Request {request.BuildRequest.GlobalRequestId} is already scheduled to node {request.AssignedNode}"); 349if (!configurationsAssignedToNode.Contains(request.BuildRequest.ConfigurationId)) 351configurationsAssignedToNode.Add(request.BuildRequest.ConfigurationId); 362Assumed.False(_blockedRequests.ContainsKey(request.BuildRequest.GlobalRequestId), $"Request with global id {request.BuildRequest.GlobalRequestId} is already blocked!"); 363_blockedRequests[request.BuildRequest.GlobalRequestId] = request; 367Assumed.False(_yieldingRequests.ContainsKey(request.BuildRequest.GlobalRequestId), $"Request with global id {request.BuildRequest.GlobalRequestId} is already yielded!"); 368_yieldingRequests[request.BuildRequest.GlobalRequestId] = request; 372Assumed.True(_configurationToRequests.ContainsKey(request.BuildRequest.ConfigurationId), $"Configuration {request.BuildRequest.ConfigurationId} never had requests assigned to it."); 373Assumed.Positive(_configurationToRequests[request.BuildRequest.ConfigurationId].Count, $"Configuration {request.BuildRequest.ConfigurationId} has no requests assigned to it."); 374_configurationToRequests[request.BuildRequest.ConfigurationId].Remove(request); 384Assumed.False(_executingRequests.ContainsKey(request.BuildRequest.GlobalRequestId), $"Request with global id {request.BuildRequest.GlobalRequestId} is already executing!"); 387_executingRequests[request.BuildRequest.GlobalRequestId] = request; 389_configurationToNode[request.BuildRequest.ConfigurationId] = request.AssignedNode; 398Assumed.False(_readyRequests.ContainsKey(request.BuildRequest.GlobalRequestId), $"Request with global id {request.BuildRequest.GlobalRequestId} is already ready!"); 399_readyRequests[request.BuildRequest.GlobalRequestId] = request; 407Assumed.False(readyRequestsOnNode.Contains(request), $"Request with global id {request.BuildRequest.GlobalRequestId} is already marked as ready on node {request.AssignedNode}"); 412Assumed.Unreachable($"Request with global id {request.BuildRequest.GlobalRequestId} cannot transition to the Unscheduled state"); 549return InternalGetScheduledRequestByGlobalRequestId(request.BuildRequest.GlobalRequestId) != null; 638return CanScheduleConfigurationToNode(request.BuildRequest.ConfigurationId, nodeId);
BackEnd\Components\Scheduler\SchedulingPlan.cs (6)
211return _configCache[rootRequest.BuildRequest.ConfigurationId].ProjectFullPath + ".buildplan"; 428if (request.BuildRequest.SubmissionId == submissionId) 442file.Write(request.BuildRequest.ConfigurationId); 445file.Write(" {0}", child.BuildRequest.ConfigurationId); 465accumulatedTimeByConfiguration.TryGetValue(request.BuildRequest.ConfigurationId, out accumulatedTime); 466accumulatedTimeByConfiguration[request.BuildRequest.ConfigurationId] = accumulatedTime + request.GetTimeSpentInState(SchedulableRequestState.Executing).TotalMilliseconds;