@Override public QueryObserver createNewQueryObserver(ExternalId id, UserSession session, UserResponseHandler handler) { final JobId jobId = JobsServiceUtil.getExternalIdAsJobId(id); final RpcEndpointInfos clientInfos = session.getClientInfos(); final QueryType queryType = QueryTypeUtils.getQueryType(clientInfos); final JobInfo jobInfo = new JobInfo(jobId, "UNKNOWN", "UNKNOWN", queryType) .setUser(session.getCredentials().getUserName()) .setDatasetPathList(Arrays.asList("UNKNOWN")) .setStartTime(System.currentTimeMillis()); final JobAttempt jobAttempt = new JobAttempt() .setInfo(jobInfo) .setEndpoint(identity) .setDetails(new JobDetails()) .setState(ENQUEUED); final Job job = new Job(jobId, jobAttempt); storeJob(job); QueryListener listener = new QueryListener(job, handler); runningJobs.put(jobId, listener); return listener; }
private Job startJob(JobRequest jobRequest, JobStatusListener statusListener) { final JobId jobId = JobsServiceUtil.getExternalIdAsJobId(externalId); final String inSpace = !jobRequest.getDatasetPathComponents().isEmpty() &&