@Override public void run() { try { AsyncRpcClient rpc = RpcClientManager.getInstance().getClient(worker, TajoWorkerProtocol.class, true, rpcParams); TajoWorkerProtocol.TajoWorkerProtocolService tajoWorkerProtocolService = rpc.getStub(); tajoWorkerProtocolService.stopQuery(null, queryId.getProto(), NullCallback.get()); } catch (Throwable e) { LOG.error(e.getMessage(), e); } } });
@Override public void run() { try { AsyncRpcClient rpc = RpcClientManager.getInstance().getClient(worker, TajoWorkerProtocol.class, true, rpcParams); TajoWorkerProtocol.TajoWorkerProtocolService tajoWorkerProtocolService = rpc.getStub(); tajoWorkerProtocolService.stopQuery(null, queryId.getProto(), NullCallback.get()); } catch (Throwable e) { LOG.error(e.getMessage(), e); } } });
public TajoIdProtos.ExecutionBlockIdProto getProto() { return TajoIdProtos.ExecutionBlockIdProto.newBuilder() .setQueryId(queryId.getProto()) .setId(id) .build(); }
public TajoIdProtos.ExecutionBlockIdProto getProto() { return TajoIdProtos.ExecutionBlockIdProto.newBuilder() .setQueryId(queryId.getProto()) .setId(id) .build(); }
public void kill() { writeLock.lock(); try { getQueryInfo().setQueryState(TajoProtos.QueryState.QUERY_KILLED); if (queryMasterRpcClient != null) { CallFuture<PrimitiveProtos.NullProto> callFuture = new CallFuture<>(); queryMasterRpcClient.killQuery(callFuture.getController(), queryId.getProto(), callFuture); callFuture.get(); } } catch (Throwable e) { catchException("Failed to kill query " + queryId + " by exception " + e, e); } finally { writeLock.unlock(); } }
public void kill() { writeLock.lock(); try { getQueryInfo().setQueryState(TajoProtos.QueryState.QUERY_KILLED); if (queryMasterRpcClient != null) { CallFuture<PrimitiveProtos.NullProto> callFuture = new CallFuture<PrimitiveProtos.NullProto>(); queryMasterRpcClient.killQuery(callFuture.getController(), queryId.getProto(), callFuture); callFuture.get(); } } catch (Throwable e) { catchException("Failed to kill query " + queryId + " by exception " + e, e); } finally { writeLock.unlock(); } }
public GetQueryStatusResponse getRawQueryStatus(QueryId queryId) { final BlockingInterface stub = conn.getTMStub(); final GetQueryStatusRequest request = GetQueryStatusRequest.newBuilder() .setSessionId(conn.sessionId) .setQueryId(queryId.getProto()) .build(); GetQueryStatusResponse res; try { res = stub.getQueryStatus(null, request); } catch (ServiceException t) { throw new RuntimeException(t); } return res; }
public GetQueryStatusResponse getRawQueryStatus(QueryId queryId) { final BlockingInterface stub = conn.getTMStub(); final GetQueryStatusRequest request = GetQueryStatusRequest.newBuilder() .setSessionId(conn.sessionId) .setQueryId(queryId.getProto()) .build(); GetQueryStatusResponse res; try { res = stub.getQueryStatus(null, request); } catch (ServiceException t) { throw new RuntimeException(t); } return res; }
private QueryIdRequest buildQueryIdRequest(QueryId queryId) { return QueryIdRequest.newBuilder() .setSessionId(SessionIdProto.newBuilder().setId(getSessionId())) .setQueryId(queryId.getProto()) .build(); }
private QueryIdRequest buildQueryIdRequest(QueryId queryId) { return QueryIdRequest.newBuilder() .setSessionId(SessionIdProto.newBuilder().setId(getSessionId())) .setQueryId(queryId.getProto()) .build(); }
@Override public QueryStatus getQueryStatus(QueryId queryId) throws QueryNotFoundException { final BlockingInterface stub = conn.getTMStub(); final GetQueryStatusRequest request = GetQueryStatusRequest.newBuilder() .setSessionId(conn.sessionId) .setQueryId(queryId.getProto()) .build(); GetQueryStatusResponse res; try { res = stub.getQueryStatus(null, request); } catch (ServiceException t) { throw new RuntimeException(t); } throwsIfThisError(res.getState(), QueryNotFoundException.class); ensureOk(res.getState()); return new QueryStatus(res); }
@Override public QueryStatus getQueryStatus(QueryId queryId) throws QueryNotFoundException { final BlockingInterface stub = conn.getTMStub(); final GetQueryStatusRequest request = GetQueryStatusRequest.newBuilder() .setSessionId(conn.sessionId) .setQueryId(queryId.getProto()) .build(); GetQueryStatusResponse res; try { res = stub.getQueryStatus(null, request); } catch (ServiceException t) { throw new RuntimeException(t); } throwsIfThisError(res.getState(), QueryNotFoundException.class); ensureOk(res.getState()); return new QueryStatus(res); }
@Override public GetQueryResultResponse getResultResponse(QueryId queryId) throws QueryNotFoundException { if (queryId.equals(QueryIdFactory.NULL_QUERY_ID)) { return null; } final BlockingInterface stub = conn.getTMStub(); final GetQueryResultRequest request = GetQueryResultRequest.newBuilder() .setQueryId(queryId.getProto()) .setSessionId(conn.sessionId) .build(); GetQueryResultResponse response; try { response = stub.getQueryResult(null, request); } catch (ServiceException t) { throw new RuntimeException(t); } throwsIfThisError(response.getState(), QueryNotFoundException.class); ensureOk(response.getState()); return response; }
@Override public GetQueryResultResponse getResultResponse(QueryId queryId) throws QueryNotFoundException { if (queryId.equals(QueryIdFactory.NULL_QUERY_ID)) { return null; } final BlockingInterface stub = conn.getTMStub(); final GetQueryResultRequest request = GetQueryResultRequest.newBuilder() .setQueryId(queryId.getProto()) .setSessionId(conn.sessionId) .build(); GetQueryResultResponse response; try { response = stub.getQueryResult(null, request); } catch (ServiceException t) { throw new RuntimeException(t); } throwsIfThisError(response.getState(), QueryNotFoundException.class); ensureOk(response.getState()); return response; }
@Override public SubmitQueryResponse submitQuery(RpcController controller, QueryRequest request) throws ServiceException { try { Session session = context.getSessionManager().getSession(request.getSessionId().getId()); if(LOG.isDebugEnabled()) { LOG.debug("Query [" + request.getQuery() + "] is submitted"); } return context.getGlobalEngine().executeQuery(session, request.getQuery(), request.getIsJson()); } catch (Throwable t) { printStackTraceIfError(LOG, t); return ClientProtos.SubmitQueryResponse.newBuilder() .setState(returnError(t)) .setQueryId(QueryIdFactory.NULL_QUERY_ID.getProto()) .setUserName(context.getConf().getVar(ConfVars.USERNAME)) .build(); } }
@Override public SubmitQueryResponse submitQuery(RpcController controller, QueryRequest request) throws ServiceException { try { Session session = context.getSessionManager().getSession(request.getSessionId().getId()); if(LOG.isDebugEnabled()) { LOG.debug("Query [" + request.getQuery() + "] is submitted"); } return context.getGlobalEngine().executeQuery(session, request.getQuery(), request.getIsJson()); } catch (Throwable t) { printStackTraceIfError(LOG, t); return ClientProtos.SubmitQueryResponse.newBuilder() .setState(returnError(t)) .setQueryId(QueryIdFactory.NULL_QUERY_ID.getProto()) .setUserName(context.getConf().getVar(ConfVars.USERNAME)) .build(); } }
private NodeResourceRequest createResourceRequest(QueryId queryId, int containerNum, List<Integer> candidateWorkers) { NodeResourceRequest.Builder request = NodeResourceRequest.newBuilder(); request.setCapacity(scheduler.getMinimumResourceCapability().getProto()) .setNumContainers(containerNum) .setPriority(1) .setQueryId(queryId.getProto()) .setType(ResourceType.LEAF) .setUserId("test user") .setRunningTasks(0) .addAllCandidateNodes(candidateWorkers) .setQueue("default"); return request.build(); }
private TajoHeartbeatRequest buildTajoHeartBeat(QueryMasterTask queryMasterTask) { TajoHeartbeatRequest.Builder builder = TajoHeartbeatRequest.newBuilder(); builder.setConnectionInfo(workerContext.getConnectionInfo().getProto()); builder.setQueryId(queryMasterTask.getQueryId().getProto()); builder.setState(queryMasterTask.getState()); if (queryMasterTask.getQuery() != null) { if (queryMasterTask.getQuery().getResultDesc() != null) { builder.setResultDesc(queryMasterTask.getQuery().getResultDesc().getProto()); } builder.setQueryProgress(queryMasterTask.getQuery().getProgress()); if(queryMasterTask.getQuery().getFailureReason() != null) { builder.setError(queryMasterTask.getQuery().getFailureReason()); } } if (queryMasterTask.isInitError()) { builder.setError(ErrorUtil.convertException(queryMasterTask.getInitError())); } return builder.build(); }
private TajoHeartbeatRequest buildTajoHeartBeat(QueryMasterTask queryMasterTask) { TajoHeartbeatRequest.Builder builder = TajoHeartbeatRequest.newBuilder(); builder.setConnectionInfo(workerContext.getConnectionInfo().getProto()); builder.setQueryId(queryMasterTask.getQueryId().getProto()); builder.setState(queryMasterTask.getState()); if (queryMasterTask.getQuery() != null) { if (queryMasterTask.getQuery().getResultDesc() != null) { builder.setResultDesc(queryMasterTask.getQuery().getResultDesc().getProto()); } builder.setQueryProgress(queryMasterTask.getQuery().getProgress()); if(queryMasterTask.getQuery().getFailureReason() != null) { builder.setError(queryMasterTask.getQuery().getFailureReason()); } } if (queryMasterTask.isInitError()) { builder.setError(ErrorUtil.convertException(queryMasterTask.getInitError())); } return builder.build(); }
@Test public void testConstructFromPB() { QueryId qid1 = LocalTajoTestingUtility.newQueryId(); QueryId qid2 = new QueryId(qid1.getProto()); assertEquals(qid1, qid2); MasterPlan plan = new MasterPlan(qid1, null, null); ExecutionBlockId sub1 = plan.newExecutionBlockId(); ExecutionBlockId sub2 = TajoIdUtils.createExecutionBlockId(sub1.toString()); assertEquals(sub1, sub2); TaskId u1 = QueryIdFactory.newTaskId(sub1); TaskId u2 = new TaskId(u1.getProto()); assertEquals(u1, u2); TaskAttemptId attempt1 = new TaskAttemptId(u1, 1); TaskAttemptId attempt2 = new TaskAttemptId(attempt1.getProto()); assertEquals(attempt1, attempt2); }