/** {@inheritDoc} */ @Override public Row readModifyWriteRow(ReadModifyWriteRow readModifyWriteRow) { ReadModifyWriteRowResponse response = delegate.readModifyWriteRow(readModifyWriteRow.toProto(requestContext)); return transformResponse(response); }
/** {@inheritDoc} */ @Override public Result increment(Increment increment) throws IOException { LOG.trace("increment(Increment)"); Span span = TRACER.spanBuilder("BigtableTable.increment").startSpan(); try (Scope scope = TRACER.withSpan(span)) { ReadModifyWriteRowRequest request = hbaseAdapter.adapt(increment); return Adapters.ROW_ADAPTER.adaptResponse(client.readModifyWriteRow(request).getRow()); } catch (Throwable t) { span.setStatus(Status.UNKNOWN); throw logAndCreateIOException("increment", increment.getRow(), t); } finally { span.end(); } }
/** {@inheritDoc} */ @Override public Result increment(Increment increment) throws IOException { LOG.trace("increment(Increment)"); Span span = TRACER.spanBuilder("BigtableTable.increment").startSpan(); try (Scope scope = TRACER.withSpan(span)) { ReadModifyWriteRowRequest request = hbaseAdapter.adapt(increment); return Adapters.ROW_ADAPTER.adaptResponse(client.readModifyWriteRow(request).getRow()); } catch (Throwable t) { span.setStatus(Status.UNKNOWN); throw logAndCreateIOException("increment", increment.getRow(), t); } finally { span.end(); } }
/** {@inheritDoc} */ @Override public Result append(Append append) throws IOException { LOG.trace("append(Append)"); Span span = TRACER.spanBuilder("BigtableTable.append").startSpan(); try (Scope scope = TRACER.withSpan(span)) { ReadModifyWriteRowRequest request = hbaseAdapter.adapt(append); ReadModifyWriteRowResponse response = client.readModifyWriteRow(request); // The bigtable API will always return the mutated results. In order to maintain // compatibility, simply return null when results were not requested. if (append.isReturnResults()) { return Adapters.ROW_ADAPTER.adaptResponse(response.getRow()); } else { return null; } } catch (Throwable t) { span.setStatus(Status.UNKNOWN); throw logAndCreateIOException("append", append.getRow(), t); } finally { span.end(); } }
/** {@inheritDoc} */ @Override public Result append(Append append) throws IOException { LOG.trace("append(Append)"); Span span = TRACER.spanBuilder("BigtableTable.append").startSpan(); try (Scope scope = TRACER.withSpan(span)) { ReadModifyWriteRowRequest request = hbaseAdapter.adapt(append); ReadModifyWriteRowResponse response = client.readModifyWriteRow(request); // The bigtable API will always return the mutated results. In order to maintain // compatibility, simply return null when results were not requested. if (append.isReturnResults()) { return Adapters.ROW_ADAPTER.adaptResponse(response.getRow()); } else { return null; } } catch (Throwable t) { span.setStatus(Status.UNKNOWN); throw logAndCreateIOException("append", append.getRow(), t); } finally { span.end(); } }