Hello Tidy Bot, Alexey Serbin, Kudu Jenkins, Andrew Wong, Adar Dembo,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/10288

to look at the new patch set (#10).

Change subject: [tools] ksck improvements [7/n] Add JSON output option to ksck
......................................................................

[tools] ksck improvements [7/n] Add JSON output option to ksck

This adds support for JSON output to ksck, using a new flag
--ksck_format that supports four options: 'plain_concise',
'plain_full', 'json_pretty', and 'json_concise'.
'plain_concise' formatting is the default: it's the original
formatting and it is not changed by this patch. 'plain_full'
supersedes the --verbose flag. The 'json_pretty' option
pretty-prints a json representation of all the information
gathered by ksck. 'json_compact' ugly-prints the same, and is
suitable for parsing by other programs, like jq.

There's a knock-on effect of how this change is implemented: since
KsckResults is translated to PB and then to JSON via generic PB-to-JSON
code, the printing for CONSENSUS_MISMATCH health has changed to
match its PB stringification. Previously it was stringified as
UNAVAILABLE. Note that it isn't necessarily true that
CONSENSUS_MISMATCH implies unavailable, anyway, since, e.g.
a replica not yet aware of a new leader will cause a
CONSENSUS_MISMATCH state on a tablet that's available.

Here's a sample of the 4 formats run against the same 1-table,
8-tablet cluster:

plain_concise: 
https://gist.github.com/wdberkeley/674a8b0322c4c0ad6e8eb4ef79664d37
plain_full: https://gist.github.com/wdberkeley/841c92cf4e500782b0dc3a30a8c1cbd8
json_pretty: https://gist.github.com/wdberkeley/04dca6dd5ec7a10ad10c4bd30decab35
json_compact: 
https://gist.github.com/wdberkeley/283d48ad248a26073a30e013e19443c3

Change-Id: Ib5da0752f8e41c022611253c300450368f6ae969
---
M src/kudu/tools/CMakeLists.txt
M src/kudu/tools/ksck-test.cc
M src/kudu/tools/ksck.cc
M src/kudu/tools/ksck_results.cc
M src/kudu/tools/ksck_results.h
M src/kudu/tools/tool.proto
M src/kudu/tools/tool_action_cluster.cc
7 files changed, 817 insertions(+), 74 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/88/10288/10
--
To view, visit http://gerrit.cloudera.org:8080/10288
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib5da0752f8e41c022611253c300450368f6ae969
Gerrit-Change-Number: 10288
Gerrit-PatchSet: 10
Gerrit-Owner: Will Berkeley <wdberke...@gmail.com>
Gerrit-Reviewer: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Will Berkeley <wdberke...@gmail.com>

Reply via email to