You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by to...@apache.org on 2017/03/03 20:53:45 UTC
[2/5] kudu git commit: KUDU-1834 Don't redact
KuduRowResult::ToString()
KUDU-1834 Don't redact KuduRowResult::ToString()
A user on the client side calling ToString on the results of a scan
will likely expect the data to not be redacted. This patch forces
KuduScanPatch::RowPtr::ToString() to not redact.
A test case is added to client-test that turns redaction on and
compares the output of ToString with a redacted row. If the row is
redacted, this case fill fail.
Change-Id: If966e9ba76f747de85350ffa2b91fcf05a9ad324
Reviewed-on: http://gerrit.cloudera.org:8080/6222
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Tested-by: Kudu Jenkins
(cherry picked from commit f1da1eb450cb77878d44d1115d64c05f652378f1)
Reviewed-on: http://gerrit.cloudera.org:8080/6244
Reviewed-by: Todd Lipcon <to...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/6c0704e3
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/6c0704e3
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/6c0704e3
Branch: refs/heads/branch-1.3.x
Commit: 6c0704e315ef57b77ec8710a60d4410d60e51e68
Parents: 242fbfb
Author: Andrew Wong <aw...@cloudera.com>
Authored: Wed Mar 1 16:03:17 2017 -0800
Committer: Todd Lipcon <to...@apache.org>
Committed: Fri Mar 3 18:38:24 2017 +0000
----------------------------------------------------------------------
src/kudu/client/client-test.cc | 19 +++++++++++++++++++
src/kudu/client/scan_batch.cc | 3 +++
2 files changed, 22 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kudu/blob/6c0704e3/src/kudu/client/client-test.cc
----------------------------------------------------------------------
diff --git a/src/kudu/client/client-test.cc b/src/kudu/client/client-test.cc
index f695f7c..702c13d 100644
--- a/src/kudu/client/client-test.cc
+++ b/src/kudu/client/client-test.cc
@@ -1082,6 +1082,25 @@ TEST_F(ClientTest, TestScanCloseProxy) {
}
}
+// Check that the client scanner does not redact rows.
+TEST_F(ClientTest, TestRowPtrNoRedaction) {
+ google::SetCommandLineOption("redact", "log");
+
+ NO_FATALS(InsertTestRows(client_table_.get(), FLAGS_test_scan_num_rows));
+ KuduScanner scanner(client_table_.get());
+ ASSERT_OK(scanner.SetProjectedColumns({ "key" }));
+ ASSERT_OK(scanner.Open());
+
+ ASSERT_TRUE(scanner.HasMoreRows());
+ KuduScanBatch batch;
+ while (scanner.HasMoreRows()) {
+ ASSERT_OK(scanner.NextBatch(&batch));
+ for (const KuduScanBatch::RowPtr& row : batch) {
+ ASSERT_NE("(int32 key=<redacted>)", row.ToString());
+ }
+ }
+}
+
namespace internal {
static void ReadBatchToStrings(KuduScanner* scanner, vector<string>* rows) {
http://git-wip-us.apache.org/repos/asf/kudu/blob/6c0704e3/src/kudu/client/scan_batch.cc
----------------------------------------------------------------------
diff --git a/src/kudu/client/scan_batch.cc b/src/kudu/client/scan_batch.cc
index 14d1784..fb9a538 100644
--- a/src/kudu/client/scan_batch.cc
+++ b/src/kudu/client/scan_batch.cc
@@ -285,6 +285,9 @@ template
Status KuduScanBatch::RowPtr::Get<TypeTraits<BINARY> >(int col_idx, Slice* val) const;
string KuduScanBatch::RowPtr::ToString() const {
+ // Client-users calling ToString() will likely expect it to not be redacted.
+ ScopedDisableRedaction no_redaction;
+
string ret;
ret.append("(");
bool first = true;