/** * @param nodeId Hostname + post. * @param nodeToken A custom node token. If not specified, the default token is used. * @return the protocol client implementation for the node. */ protected final ProtocolType getProxy( final LlapNodeId nodeId, final Token<TokenType> nodeToken) { String hostId = getHostIdentifier(nodeId.getHostname(), nodeId.getPort()); try { return hostProxies.get(hostId, new Callable<ProtocolType>() { @Override public ProtocolType call() throws Exception { return createProxy(nodeId, nodeToken); } }); } catch (ExecutionException e) { throw new RuntimeException(e); } }
@Override public ProtocolType run() { return createProtocolImpl(getConfig(), nodeId.getHostname(), nodeId.getPort(), ugi, retryPolicy, socketFactory); } });
new Text(daemonId.getUniqueNodeIdInCluster()), nodeId.getPort(), aw, guaranteed); } catch (IOException e) { QueryIdentifier currentQueryIdentifier = amNodeInfo.getQueryIdentifier();
protected LlapTaskUmbilicalProtocol createUmbilical(final AMNodeInfo amNodeInfo) throws IOException, InterruptedException { final InetSocketAddress address = NetUtils.createSocketAddrForHost( amNodeInfo.amNodeId.getHostname(), amNodeInfo.amNodeId.getPort()); SecurityUtil.setTokenService(amNodeInfo.jobToken, address); UserGroupInformation ugi = UserGroupInformation.createRemoteUser(amNodeInfo.umbilicalUser); ugi.addToken(amNodeInfo.jobToken); return ugi.doAs(new PrivilegedExceptionAction<LlapTaskUmbilicalProtocol>() { @Override public LlapTaskUmbilicalProtocol run() throws Exception { return RPC .getProxy(LlapTaskUmbilicalProtocol.class, LlapTaskUmbilicalProtocol.versionID, address, UserGroupInformation.getCurrentUser(), amNodeInfo.conf, amNodeInfo.socketFactory, (int) (amNodeInfo.timeout)); } }); }
this.isExternalQuery = isExternalQuery; final InetSocketAddress address = NetUtils.createSocketAddrForHost(amNodeId.getHostname(), amNodeId.getPort()); SecurityUtil.setTokenService(appToken, address);
@Override public void dagComplete(final int dagIdentifier) { QueryIdentifierProto queryIdentifierProto = constructQueryIdentifierProto(dagIdentifier); QueryCompleteRequestProto request = QueryCompleteRequestProto.newBuilder() .setQueryIdentifier(queryIdentifierProto).setDeleteDelay(deleteDelayOnDagComplete).build(); for (final LlapNodeId llapNodeId : nodesForQuery) { LOG.info("Sending dagComplete message for {}, to {}", dagIdentifier, llapNodeId); communicator.sendQueryComplete(request, llapNodeId.getHostname(), llapNodeId.getPort(), new LlapProtocolClientProxy.ExecuteRequestCallback<LlapDaemonProtocolProtos.QueryCompleteResponseProto>() { @Override public void setResponse(LlapDaemonProtocolProtos.QueryCompleteResponseProto response) { } @Override public void indicateError(Throwable t) { LOG.warn("Failed to indicate dag complete dagId={} to node {}", dagIdentifier, llapNodeId); processSendError(t); } }); } nodesForQuery.clear(); // TODO Ideally move some of the other cleanup code from resetCurrentDag over here }
taskAttemptId.getTaskID().getVertexID().getDAGId().getId())) .setFragmentIdentifierString(taskAttemptId.toString()).build(); communicator.sendTerminateFragment(request, nodeId.getHostname(), nodeId.getPort(), new LlapProtocolClientProxy.ExecuteRequestCallback<TerminateFragmentResponseProto>() { @Override
attemptId.getTaskID().getVertexID().getDAGId().getId())).build(); communicator.sendUpdateFragment(request, nodeId.getHostname(), nodeId.getPort(), new LlapProtocolClientProxy.ExecuteRequestCallback<UpdateFragmentResponseProto>() { @Override
new Text(daemonId.getUniqueNodeIdInCluster()), nodeId.getPort(), aw, guaranteed); } catch (IOException e) { QueryIdentifier currentQueryIdentifier = amNodeInfo.getQueryIdentifier();
protected LlapTaskUmbilicalProtocol createUmbilical(final AMNodeInfo amNodeInfo) throws IOException, InterruptedException { final InetSocketAddress address = NetUtils.createSocketAddrForHost( amNodeInfo.amNodeId.getHostname(), amNodeInfo.amNodeId.getPort()); SecurityUtil.setTokenService(amNodeInfo.jobToken, address); UserGroupInformation ugi = UserGroupInformation.createRemoteUser(amNodeInfo.umbilicalUser); ugi.addToken(amNodeInfo.jobToken); return ugi.doAs(new PrivilegedExceptionAction<LlapTaskUmbilicalProtocol>() { @Override public LlapTaskUmbilicalProtocol run() throws Exception { return RPC .getProxy(LlapTaskUmbilicalProtocol.class, LlapTaskUmbilicalProtocol.versionID, address, UserGroupInformation.getCurrentUser(), amNodeInfo.conf, amNodeInfo.socketFactory, (int) (amNodeInfo.timeout)); } }); }
this.isExternalQuery = isExternalQuery; final InetSocketAddress address = NetUtils.createSocketAddrForHost(amNodeId.getHostname(), amNodeId.getPort()); SecurityUtil.setTokenService(appToken, address);
@Override public void dagComplete(final int dagIdentifier) { QueryIdentifierProto queryIdentifierProto = constructQueryIdentifierProto(dagIdentifier); QueryCompleteRequestProto request = QueryCompleteRequestProto.newBuilder() .setQueryIdentifier(queryIdentifierProto).setDeleteDelay(deleteDelayOnDagComplete).build(); for (final LlapNodeId llapNodeId : nodesForQuery) { LOG.info("Sending dagComplete message for {}, to {}", dagIdentifier, llapNodeId); communicator.sendQueryComplete(request, llapNodeId.getHostname(), llapNodeId.getPort(), new LlapProtocolClientProxy.ExecuteRequestCallback<LlapDaemonProtocolProtos.QueryCompleteResponseProto>() { @Override public void setResponse(LlapDaemonProtocolProtos.QueryCompleteResponseProto response) { } @Override public void indicateError(Throwable t) { LOG.warn("Failed to indicate dag complete dagId={} to node {}", dagIdentifier, llapNodeId); processSendError(t); } }); } nodesForQuery.clear(); // TODO Ideally move some of the other cleanup code from resetCurrentDag over here }
taskAttemptId.getTaskID().getVertexID().getDAGId().getId())) .setFragmentIdentifierString(taskAttemptId.toString()).build(); communicator.sendTerminateFragment(request, nodeId.getHostname(), nodeId.getPort(), new LlapProtocolClientProxy.ExecuteRequestCallback<TerminateFragmentResponseProto>() { @Override
attemptId.getTaskID().getVertexID().getDAGId().getId())).build(); communicator.sendUpdateFragment(request, nodeId.getHostname(), nodeId.getPort(), new LlapProtocolClientProxy.ExecuteRequestCallback<UpdateFragmentResponseProto>() { @Override