MCPcopy Create free account
hub / github.com/catboost/catboost / AsyncStartGroupRequest

Function AsyncStartGroupRequest

library/cpp/par/par_mr.cpp:214–248  ·  view source on GitHub ↗

/////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

212
213 //////////////////////////////////////////////////////////////////////////
214 void AsyncStartGroupRequest(TJobDescription* descr,
215 TRemoteQueryProcessor* queryProc, IUserContext* userContext,
216 IMRCommandCompleteNotify* mrNotify) {
217 TIntrusivePtr<TJobRequest> jr = new TJobRequest;
218 jr->Descr.Cmds.swap(descr->Cmds);
219 jr->Descr.ParamsData.swap(descr->ParamsData);
220 jr->Descr.ParamsPtr.swap(descr->ParamsPtr);
221 jr->EnvId2Version = userContext->GetEnvId2Version();
222 jr->IsLowPriority = false;
223
224 int hostIdCount = userContext->GetHostIdCount();
225
226 for (int i = 0; i < descr->ExecList.ysize(); ++i) {
227 TJobParams jp = descr->ExecList[i];
228 if (jp.HostId == TJobDescription::MAP_HOST_ID) {
229 // its a map request, assign to several hosts
230 for (int hostId = 0; hostId < hostIdCount; ++hostId) {
231 jp.HostId = hostId;
232 jr->Descr.ExecList.push_back(jp);
233 }
234 } else {
235 // direct request
236 Y_ABORT_UNLESS(
237 (jp.HostId >= 0 && jp.HostId < hostIdCount) || jp.HostId == TJobDescription::ANYWHERE_HOST_ID,
238 "jp.HostId=%d, hostIdCount=%d",
239 jp.HostId, hostIdCount);
240 jr->Descr.ExecList.push_back(jp);
241 }
242 }
243
244 if (queryProc)
245 TSplitMRExec::Launch(jr.Get(), queryProc, userContext, mrNotify);
246 else
247 LaunchLocalJobRequest(jr.Get(), -1, userContext, mrNotify);
248 }
249}

Callers 4

RunMethod · 0.85
RunLocalOnlyMethod · 0.85
RunMethod · 0.85
RunMethod · 0.85

Calls 6

LaunchLocalJobRequestFunction · 0.85
swapMethod · 0.45
GetHostIdCountMethod · 0.45
ysizeMethod · 0.45
push_backMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected