private void checkReadException() throws IOException { if (readAborted) { Throwables.propagateIfPossible(readException, IOException.class); throw new IOException(readException); } }
/** * Respond to server's SASL token. * @param token contains server's SASL token * @return client's response SASL token */ public synchronized byte[] response(byte[] token) { try { return saslClient != null ? saslClient.evaluateChallenge(token) : new byte[0]; } catch (SaslException e) { throw Throwables.propagate(e); } }
@Override public void onFailure(Throwable e) { respond(new RpcFailure(req.requestId, Throwables.getStackTraceAsString(e))); } };
/** * Used to respond to server SASL tokens. * @param token Server's SASL token * @return response to send back to the server. */ public synchronized byte[] response(byte[] token) { try { return saslServer != null ? saslServer.evaluateResponse(token) : new byte[0]; } catch (SaslException e) { throw Throwables.propagate(e); } }
@Override public void onFailure(Throwable e) { respond(new RpcFailure(req.requestId, Throwables.getStackTraceAsString(e))); } };
/** * Used to respond to server SASL tokens. * @param token Server's SASL token * @return response to send back to the server. */ public synchronized byte[] response(byte[] token) { try { return saslServer != null ? saslServer.evaluateResponse(token) : new byte[0]; } catch (SaslException e) { throw Throwables.propagate(e); } }
@Override public void onFailure(Throwable e) { respond(new RpcFailure(req.requestId, Throwables.getStackTraceAsString(e))); } });
private void checkReadException() throws IOException { if (readAborted) { Throwables.propagateIfPossible(readException, IOException.class); throw new IOException(readException); } }
/** * Respond to server's SASL token. * @param token contains server's SASL token * @return client's response SASL token */ public synchronized byte[] response(byte[] token) { try { return saslClient != null ? saslClient.evaluateChallenge(token) : new byte[0]; } catch (SaslException e) { throw Throwables.propagate(e); } }
@Override public void onFailure(Throwable e) { respond(new RpcFailure(req.requestId, Throwables.getStackTraceAsString(e))); } });
/** * Respond to server's SASL token. * @param token contains server's SASL token * @return client's response SASL token */ public synchronized byte[] response(byte[] token) { try { return saslClient != null ? saslClient.evaluateChallenge(token) : new byte[0]; } catch (SaslException e) { throw Throwables.propagate(e); } }
@Override public void onFailure(Throwable e) { respond(new RpcFailure(req.requestId, Throwables.getStackTraceAsString(e))); } });
@Override public Iterator<T> iterator() { try { return new LevelDBIterator<>(LevelDB.this, this); } catch (Exception e) { throw Throwables.propagate(e); } } };
private void processFetchRequest(final ChunkFetchRequest req) { if (logger.isTraceEnabled()) { logger.trace("Received req from {} to fetch block {}", getRemoteAddress(channel), req.streamChunkId); } ManagedBuffer buf; try { streamManager.checkAuthorization(reverseClient, req.streamChunkId.streamId); streamManager.registerChannel(channel, req.streamChunkId.streamId); buf = streamManager.getChunk(req.streamChunkId.streamId, req.streamChunkId.chunkIndex); } catch (Exception e) { logger.error(String.format("Error opening block %s for request from %s", req.streamChunkId, getRemoteAddress(channel)), e); respond(new ChunkFetchFailure(req.streamChunkId, Throwables.getStackTraceAsString(e))); return; } respond(new ChunkFetchSuccess(req.streamChunkId, buf)); }
@Override public Iterator<T> iterator() { try { return new LevelDBIterator<>(LevelDB.this, this); } catch (Exception e) { throw Throwables.propagate(e); } } };
private void processFetchRequest(final ChunkFetchRequest req) { if (logger.isTraceEnabled()) { logger.trace("Received req from {} to fetch block {}", getRemoteAddress(channel), req.streamChunkId); } long chunksBeingTransferred = streamManager.chunksBeingTransferred(); if (chunksBeingTransferred >= maxChunksBeingTransferred) { logger.warn("The number of chunks being transferred {} is above {}, close the connection.", chunksBeingTransferred, maxChunksBeingTransferred); channel.close(); return; } ManagedBuffer buf; try { streamManager.checkAuthorization(reverseClient, req.streamChunkId.streamId); streamManager.registerChannel(channel, req.streamChunkId.streamId); buf = streamManager.getChunk(req.streamChunkId.streamId, req.streamChunkId.chunkIndex); } catch (Exception e) { logger.error(String.format("Error opening block %s for request from %s", req.streamChunkId, getRemoteAddress(channel)), e); respond(new ChunkFetchFailure(req.streamChunkId, Throwables.getStackTraceAsString(e))); return; } streamManager.chunkBeingSent(req.streamChunkId.streamId); respond(new ChunkFetchSuccess(req.streamChunkId, buf)).addListener(future -> { streamManager.chunkSent(req.streamChunkId.streamId); }); }
/** * Used to respond to server SASL tokens. * @param token Server's SASL token * @return response to send back to the server. */ public synchronized byte[] response(byte[] token) { try { return saslServer != null ? saslServer.evaluateResponse(token) : new byte[0]; } catch (SaslException e) { throw Throwables.propagate(e); } }
private void processStreamRequest(final StreamRequest req) { ManagedBuffer buf; try { buf = streamManager.openStream(req.streamId); } catch (Exception e) { logger.error(String.format( "Error opening stream %s for request from %s", req.streamId, getRemoteAddress(channel)), e); respond(new StreamFailure(req.streamId, Throwables.getStackTraceAsString(e))); return; } if (buf != null) { respond(new StreamResponse(req.streamId, buf.size(), buf)); } else { respond(new StreamFailure(req.streamId, String.format( "Stream '%s' was not found.", req.streamId))); } }
private int compare(T e1, KVTypeInfo.Accessor getter, Object v2) { try { return asKey(getter.get(e1)).compareTo(asKey(v2)); } catch (Exception e) { throw Throwables.propagate(e); } }
logger.error(String.format( "Error opening stream %s for request from %s", req.streamId, getRemoteAddress(channel)), e); respond(new StreamFailure(req.streamId, Throwables.getStackTraceAsString(e))); return;