Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11422 )

Change subject: [location_awareness] Add location info in ksck report
......................................................................


Patch Set 1:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/11422/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11422/1//COMMIT_MSG@29
PS1, Line 29:         Tablet Server UUID        |       Location
            : ----------------------------------+-----------------------
            :  fc18b4bdb2ae4dd0a5717e8fe1f1de69 | <none>
            :  0f25d1891fce48789e06fdec493fb90e | <none>
            :  ad868d782dc743369d96a9e958811f81 | <none>
            :  c541b6ebc3a14f0f9bbee26d52545683 | /foo-bar0/BAAZ.9-quux
            :
            :        Location        |  Count
            : -----------------------+---------
            :  /foo-bar0/BAAZ.9-quux |       1
            :  <none>                |       3
> Is this a part of master summary as well?
ksck output is already pretty lengthy so I don't want to introduce an extra 
table with #rows = #registered TS. Plus I think it's surprising to have TS 
locations not located with TS. So the locations should be another column in the 
TS table, even if it's not the easiest thing to do with ksck's data model.


http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck.h
File src/kudu/tools/ksck.h:

http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck.h@283
PS1, Line 283: std::unordered_map<std::string, std::string>
> Consider introducing a typedef for this and document what key and value con
I don't think we want to store locations like this. See my comment in 
ksck_remote.cc.


http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck.cc
File src/kudu/tools/ksck.cc:

http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck.cc@216
PS1, Line 216: sh.ts_locations = master->ts_locations();
The locations should come from the leader master, not from each master. They 
are a "cluster" property so a locations map belongs in KsckCluster rather than 
in each KsckMaster. The fact that each master is assigning a location to each 
TS is kind of an implementation quirk.


http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck_remote.h
File src/kudu/tools/ksck_remote.h:

http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck_remote.h@84
PS1, Line 84: std::shared_ptr<master::MasterServiceProxy> master_proxy_;
I don't think we need this. We should use a KuduClient to get the location from 
ListTabletServers.


http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck_remote.cc
File src/kudu/tools/ksck_remote.cc:

http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck_remote.cc@467
PS1, Line 467: RemoteKsckCluster::RetrieveTabletServers
This is where we should retrieve location information from the leader master, I 
think. It'll be necessary to add the location to the TabletServer objects 
returned from ListTabletServers. Then it should be stored in the 
KsckTabletServer objects (can be const since we construct them here). That 
should make it easier to map the location information into the TS table instead 
of as a separate section in the master summary.


http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck_results.h
File src/kudu/tools/ksck_results.h:

http://gerrit.cloudera.org:8080/#/c/11422/1/src/kudu/tools/ksck_results.h@145
PS1, Line 145: std::unordered_map<std::string, std::string>
> I thought KsckServerHealthSummary is just for a single server instance, why
Right, we just need a single location, which will be populated only for TS 
summaries.



--
To view, visit http://gerrit.cloudera.org:8080/11422
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ideff2dd4975c99a1135002624debbbb2620fb95c
Gerrit-Change-Number: 11422
Gerrit-PatchSet: 1
Gerrit-Owner: Fengling Wang <fw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Fengling Wang <fw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Will Berkeley <wdberke...@gmail.com>
Gerrit-Comment-Date: Wed, 12 Sep 2018 15:50:54 +0000
Gerrit-HasComments: Yes

Reply via email to