public static <CT extends TServiceClient,RT> RT execute(ClientContext context, TServiceClientFactory<CT> factory, ClientExecReturn<RT,CT> exec) throws AccumuloException, AccumuloSecurityException { try { return executeRaw(context, factory, exec); } catch (ThriftSecurityException e) { throw new AccumuloSecurityException(e.user, e.code, e); } catch (AccumuloException e) { throw e; } catch (Exception e) { throw new AccumuloException(e); } }
@Override public Map<String,String> getSiteConfiguration() throws AccumuloException, AccumuloSecurityException { return ServerClient.execute(context, client -> client.getConfiguration(Tracer.traceInfo(), context.rpcCreds(), ConfigurationType.SITE)); }
@Override public Map<String,String> getSystemConfiguration() throws AccumuloException, AccumuloSecurityException { return ServerClient.execute(context, client -> client.getConfiguration(Tracer.traceInfo(), context.rpcCreds(), ConfigurationType.CURRENT)); }
@Override public boolean testClassLoad(final String className, final String asTypeName) throws AccumuloException, AccumuloSecurityException { return ServerClient.execute(context, client -> client.checkClass(Tracer.traceInfo(), context.rpcCreds(), className, asTypeName)); }
@Override public SummaryCollection get() { TSummaryRequest req = getRequest(); TSummaries tSums; try { tSums = ServerClient.execute(ctx, new TabletClientService.Client.Factory(), client -> { TSummaries tsr = client.startGetSummariesForPartition(tinfo, ctx.rpcCreds(), req, modulus, remainder); while (!tsr.finished && !cancelFlag.get()) { tsr = client.contiuneGetSummaries(tinfo, tsr.sessionId); } return tsr; }); } catch (AccumuloException | AccumuloSecurityException e) { throw new RuntimeException(e); } if (cancelFlag.get()) { throw new RuntimeException("Operation canceled"); } return new SummaryCollection(tSums); } }
@Override public List<Summary> retrieve() throws AccumuloException, AccumuloSecurityException, TableNotFoundException { Table.ID tableId = Tables.getTableId(context, tableName); if (Tables.getTableState(context, tableId) == TableState.OFFLINE) throw new TableOfflineException(Tables.getTableOfflineMsg(context, tableId)); TRowRange range = new TRowRange(TextUtil.getByteBuffer(startRow), TextUtil.getByteBuffer(endRow)); TSummaryRequest request = new TSummaryRequest(tableId.canonicalID(), range, summariesToFetch, summarizerClassRegex); if (flush) { _flush(tableId, startRow, endRow, true); } TSummaries ret = ServerClient.execute(context, new TabletClientService.Client.Factory(), client -> { TSummaries tsr = client.startGetSummaries(Tracer.traceInfo(), context.rpcCreds(), request); while (!tsr.finished) { tsr = client.contiuneGetSummaries(Tracer.traceInfo(), tsr.sessionId); } return tsr; }); return new SummaryCollection(ret).getSummaries(); }