statusListener.metadataCollected(metadata); }catch(Exception ex){ exception.addException(ex);
@Override public void planRelTransform(PlannerPhase phase, RelOptPlanner planner, RelNode before, RelNode after, long millisTaken) { statusListener.planRelTransform(phase, before, after, millisTaken); switch(phase){ case LOGICAL: builder.addLogicalPlan(before, after); // set final pre-accelerated cost final RelOptCost cost = after.getCluster().getMetadataQuery().getCumulativeCost(after); builder.addCost(cost); break; case JOIN_PLANNING_MULTI_JOIN: // Join planning starts with multi-join analysis phase builder.addPreJoinPlan(before); break; default: return; } }
switch (state) { case COMPLETED: this.statusListener.jobCompleted(); break; this.statusListener.jobCancelled(userResult.getCancelReason()); break; this.statusListener.jobFailed(ex); break;
&& job.hasResults()) { try { statusListener.jobCompleted(); return new JobUI(jobsService.getJob(job.getJobId())); } catch (RuntimeException | JobNotFoundException e) {
@Override public void queryStarted(UserRequest query, String user) { job.getJobAttempt().setState(ENQUEUED); job.getJobAttempt().getInfo().setRequestType(query.getRequestType()); job.getJobAttempt().getInfo().setSql(query.getSql()); job.getJobAttempt().getInfo().setDescription(query.getDescription()); storeJob(job); statusListener.jobSubmitted(jobId); if (externalListenerManager != null) { externalListenerManager.queryUpdate(job); } }