private void processGetBookieInfoRequestV3(final BookkeeperProtocol.Request r, final Channel c) { GetBookieInfoProcessorV3 getBookieInfo = new GetBookieInfoProcessorV3(r, c, this); if (null == readThreadPool) { getBookieInfo.run(); } else { readThreadPool.submit(getBookieInfo); } }
/** * Make a LastAddUpdate request. */ void asyncExplicitLacFlush(final long explicitLac) { final LastAddConfirmedCallback cb = LastAddConfirmedCallback.INSTANCE; final PendingWriteLacOp op = new PendingWriteLacOp(lh, clientCtx, lh.getCurrentEnsemble(), cb, null); op.setLac(explicitLac); try { if (LOG.isDebugEnabled()) { LOG.debug("Sending Explicit LAC: {}", explicitLac); } clientCtx.getMainWorkerPool().submit(new SafeRunnable() { @Override public void safeRun() { ByteBufList toSend = lh.macManager .computeDigestAndPackageForSendingLac(lh.getLastAddConfirmed()); op.initiate(toSend); } }); } catch (RejectedExecutionException e) { cb.addLacComplete(BookKeeper.getReturnRc(clientCtx.getBookieClient(), BKException.Code.InterruptedException), lh, null); } }
public void getBookieInfo(final BookieSocketAddress addr, final long requested, final GetBookieInfoCallback cb, final Object ctx) { final PerChannelBookieClientPool client = lookupClient(addr); if (client == null) { cb.getBookieInfoComplete(getRc(BKException.Code.BookieHandleNotAvailableException), new BookieInfo(), ctx); return; } client.obtain((rc, pcbc) -> { if (rc != BKException.Code.OK) { try { executor.submit(safeRun(() -> { cb.getBookieInfoComplete(rc, new BookieInfo(), ctx); })); } catch (RejectedExecutionException re) { cb.getBookieInfoComplete(getRc(BKException.Code.InterruptedException), new BookieInfo(), ctx); } } else { pcbc.getBookieInfo(requested, cb, ctx); } }, requested); }
clientCtx.getMainWorkerPool().submit(new SafeRunnable() { @Override public void safeRun() {