Refine search
/** {@inheritDoc} */ @Override public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier, byte[] value, Delete delete) throws IOException { return checkAndDelete(row, family, qualifier, CompareFilter.CompareOp.EQUAL, value, delete); }
/** * {@inheritDoc} */ @Override public boolean checkAndMutate(final byte[] row, final byte[] family, final byte[] qualifier, final CompareOperator compareOp, final byte[] value, final RowMutations rm) throws IOException { return super.checkAndMutate(row, family, qualifier, toCompareOp(compareOp), value, rm); }
/** {@inheritDoc} */ @Override public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put) throws IOException { return checkAndPut(row, family, qualifier, CompareFilter.CompareOp.EQUAL, value, put); }
/** {@inheritDoc} */ @Override public void put(List<Put> puts) throws IOException { LOG.trace("put(List<Put>)"); if (puts == null || puts.isEmpty()) { return; } else if (puts.size() == 1) { try { put(puts.get(0)); } catch (IOException e) { throw createRetriesExhaustedWithDetailsException(e, puts.get(0)); } } else { getBatchExecutor().batch(puts); } }
/** {@inheritDoc} */ @Override public Result get(Get get) throws IOException { LOG.trace("get(Get)"); try (Scope scope = TRACER.spanBuilder("BigtableTable.get").startScopedSpan()) { return convertToResult(getResults(get, "get")); } }
/** {@inheritDoc} */ @Override public Result[] get(List<Get> gets) throws IOException { LOG.trace("get(List<>)"); if (gets == null || gets.isEmpty()) { return new Result[0]; } else if (gets.size() == 1) { try { return new Result[] { get(gets.get(0)) }; } catch(IOException e) { throw createRetriesExhaustedWithDetailsException(e, gets.get(0)); } } else { try (Scope scope = TRACER.spanBuilder("BigtableTable.get").startScopedSpan()) { addBatchSizeAnnotation(gets); return getBatchExecutor().batch(gets); } } }
/** {@inheritDoc} */ @Deprecated @Override public Object[] batch(List<? extends Row> actions) throws IOException, InterruptedException { LOG.trace("batch(List<>)"); try (Scope scope = TRACER.spanBuilder("BigtableTable.batch").startScopedSpan()) { addBatchSizeAnnotation(actions); return getBatchExecutor().batch(actions); } }
/** {@inheritDoc} */ @Override public ResultScanner getScanner(Scan scan) throws IOException { LOG.trace("getScanner(Scan)"); Span span = TRACER.spanBuilder("BigtableTable.scan").startSpan(); try (Scope scope = TRACER.withSpan(span)) { com.google.cloud.bigtable.grpc.scanner.ResultScanner<FlatRow> scanner = client.readFlatRows(hbaseAdapter.adapt(scan)); if (hasWhileMatchFilter(scan.getFilter())) { return Adapters.BIGTABLE_WHILE_MATCH_RESULT_RESULT_SCAN_ADAPTER.adapt(scanner, span); } return Adapters.BIGTABLE_RESULT_SCAN_ADAPTER.adapt(scanner, span); } catch (Throwable throwable) { LOG.error("Encountered exception when executing getScanner.", throwable); span.setStatus(Status.UNKNOWN); // Close the span only when throw an exception and not on finally because if no exception // the span will be ended by the adapter. span.end(); throw new IOException( makeGenericExceptionMessage( "getScanner", options.getProjectId(), tableName.getQualifierAsString()), throwable); } }
/** {@inheritDoc} */ @Override public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value, Delete delete) throws IOException { LOG.trace("checkAndDelete(byte[], byte[], byte[], CompareOp, byte[], Delete)"); ConditionalRowMutation request = new CheckAndMutateUtil.RequestBuilder(hbaseAdapter, row, family) .qualifier(qualifier) .ifMatches(compareOp, value) .withDelete(delete) .build(); return checkAndMutate(row, request, "checkAndDelete"); }
LOG.trace("getScanner(Scan)"); final Span span = TRACER.spanBuilder("BigtableTable.scan").startSpan(); try (Scope scope = TRACER.withSpan(span)) { com.google.cloud.bigtable.grpc.scanner.ResultScanner<FlatRow> scanner = client.getClient().readFlatRows(hbaseAdapter.adapt(scan)); if (AbstractBigtableTable.hasWhileMatchFilter(scan.getFilter())) { return Adapters.BIGTABLE_WHILE_MATCH_RESULT_RESULT_SCAN_ADAPTER.adapt(scanner, span); LOG.error("Encountered exception when executing getScanner.", throwable); span.setStatus(Status.UNKNOWN);
/** {@inheritDoc} */ @Override public void delete(List<Delete> deletes) throws IOException { LOG.trace("delete(List<Delete>)"); try (Scope scope = TRACER.spanBuilder("BigtableTable.delete").startScopedSpan()) { getBatchExecutor().batch(deletes); } }
public static boolean hasWhileMatchFilter(Filter filter) { if (filter instanceof WhileMatchFilter) { return true; } if (filter instanceof FilterList) { FilterList list = (FilterList) filter; for (Filter subFilter : list.getFilters()) { if (hasWhileMatchFilter(subFilter)) { return true; } } } return false; }
/** {@inheritDoc} */ @Deprecated @Override public Object[] batch(List<? extends Row> actions) throws IOException, InterruptedException { LOG.trace("batch(List<>)"); try (Scope scope = TRACER.spanBuilder("BigtableTable.batch").startScopedSpan()) { addBatchSizeAnnotation(actions); return getBatchExecutor().batch(actions); } }
/** {@inheritDoc} */ @Override public ResultScanner getScanner(Scan scan) throws IOException { LOG.trace("getScanner(Scan)"); Span span = TRACER.spanBuilder("BigtableTable.scan").startSpan(); try (Scope scope = TRACER.withSpan(span)) { com.google.cloud.bigtable.grpc.scanner.ResultScanner<FlatRow> scanner = client.readFlatRows(hbaseAdapter.adapt(scan)); if (hasWhileMatchFilter(scan.getFilter())) { return Adapters.BIGTABLE_WHILE_MATCH_RESULT_RESULT_SCAN_ADAPTER.adapt(scanner, span); } return Adapters.BIGTABLE_RESULT_SCAN_ADAPTER.adapt(scanner, span); } catch (Throwable throwable) { LOG.error("Encountered exception when executing getScanner.", throwable); span.setStatus(Status.UNKNOWN); // Close the span only when throw an exception and not on finally because if no exception // the span will be ended by the adapter. span.end(); throw new IOException( makeGenericExceptionMessage( "getScanner", options.getProjectId(), tableName.getQualifierAsString()), throwable); } }
/** {@inheritDoc} */ @Override public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value, Put put) throws IOException { LOG.trace("checkAndPut(byte[], byte[], byte[], CompareOp, value, Put)"); ConditionalRowMutation request = new CheckAndMutateUtil.RequestBuilder(hbaseAdapter, row, family) .qualifier(qualifier) .ifMatches(compareOp, value) .withPut(put) .build(); return checkAndMutate(row, request, "checkAndPut"); }
LOG.trace("getScanner(Scan)"); final Span span = TRACER.spanBuilder("BigtableTable.scan").startSpan(); try (Scope scope = TRACER.withSpan(span)) { com.google.cloud.bigtable.grpc.scanner.ResultScanner<FlatRow> scanner = client.getClient().readFlatRows(hbaseAdapter.adapt(scan)); if (AbstractBigtableTable.hasWhileMatchFilter(scan.getFilter())) { return Adapters.BIGTABLE_WHILE_MATCH_RESULT_RESULT_SCAN_ADAPTER.adapt(scanner, span); LOG.error("Encountered exception when executing getScanner.", throwable); span.setStatus(Status.UNKNOWN);
/** {@inheritDoc} */ @Override public Result get(Get get) throws IOException { LOG.trace("get(Get)"); try (Scope scope = TRACER.spanBuilder("BigtableTable.get").startScopedSpan()) { return convertToResult(getResults(get, "get")); } }
/** {@inheritDoc} */ @Override public Result[] get(List<Get> gets) throws IOException { LOG.trace("get(List<>)"); if (gets == null || gets.isEmpty()) { return new Result[0]; } else if (gets.size() == 1) { try { return new Result[] { get(gets.get(0)) }; } catch(IOException e) { throw createRetriesExhaustedWithDetailsException(e, gets.get(0)); } } else { try (Scope scope = TRACER.spanBuilder("BigtableTable.get").startScopedSpan()) { addBatchSizeAnnotation(gets); return getBatchExecutor().batch(gets); } } }
/** {@inheritDoc} */ @Override public void put(List<Put> puts) throws IOException { LOG.trace("put(List<Put>)"); if (puts == null || puts.isEmpty()) { return; } else if (puts.size() == 1) { try { put(puts.get(0)); } catch (IOException e) { throw createRetriesExhaustedWithDetailsException(e, puts.get(0)); } } else { getBatchExecutor().batch(puts); } }
/** {@inheritDoc} */ @Override public void delete(List<Delete> deletes) throws IOException { LOG.trace("delete(List<Delete>)"); try (Scope scope = TRACER.spanBuilder("BigtableTable.delete").startScopedSpan()) { getBatchExecutor().batch(deletes); } }