@Override public Object call(Exception e) throws Exception { if (e instanceof KuduException) { Status status = ((KuduException) e).getStatus(); RowError rowError = new RowError(status, operation); return new OperationResponse(0, null, 0, operation, rowError); } return e; } }
new OperationResponse(currentOperation.deadlineTracker.getElapsedMillis(), tsUUID, writeTimestamp, currentOperation, rowError));
error = new RowError(Status.RuntimeError(failure.getMessage()), operation); OperationResponse response = new OperationResponse(0, null, 0, operation, error);
@Override Pair<OperationResponse, Object> deserialize(CallResponse callResponse, String tsUUID) throws KuduException { Tserver.WriteResponsePB.Builder builder = Tserver.WriteResponsePB.newBuilder(); readProtobuf(callResponse.getPBMessage(), builder); Tserver.WriteResponsePB.PerRowErrorPB error = null; if (builder.getPerRowErrorsCount() != 0) { error = builder.getPerRowErrors(0); if (ignoreAllDuplicateRows && error.getError().getCode() == WireProtocol.AppStatusPB.ErrorCode.ALREADY_PRESENT) { error = null; } } OperationResponse response = new OperationResponse(deadlineTracker.getElapsedMillis(), tsUUID, builder.getTimestamp(), this, error); return new Pair<OperationResponse, Object>( response, builder.hasError() ? builder.getError() : null); }