[ 
https://issues.apache.org/jira/browse/KUDU-687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15436227#comment-15436227
 ] 

Adar Dembo commented on KUDU-687:
---------------------------------

I looked into what information ksck needs from the master. Here are my findings:
{noformat}

Using ListTabletServers, fetch tservers:
- first RPC address
- uuid

Using ListTables, fetch table names

Using GetTableSchema, fetch table metadata:
- schema
- number of replicas

Using GetTableLocations, fetch tablet metadata for each table:
- table id
- replicas:
 - role
 - ts uuid
{noformat}

Out of the above, here are the missing pieces:
# We'd need to convert from KuduSchema to Schema. But we can already do that 
using an existing internal method; just need to make ksck a friend of 
KuduSchema.
# We'd need to expose the number of replicas of the table. Seems like a useful 
thing to do in general.
# The biggest missing piece is GetTableLocations. The Java client has methods 
that expose everything but the replica's ts UUID, though those methods are 
deprecated. Like the number of replicas, I think exposing this would be net 
useful. It's possible we may be able to adapt the ScanToken API to provide this 
information; I haven't looked into that.

As to the other approach, it's not as simple as exposing SyncLeaderMasterRpc. 
That's a KuduClient function and its quite stateful. We'd need to pull out more 
functionality. I'm not quite sure how deep that rabbit hole goes, and IMHO it's 
a Frankenstein-like architecture.

> ksck should work against multi-master
> -------------------------------------
>
>                 Key: KUDU-687
>                 URL: https://issues.apache.org/jira/browse/KUDU-687
>             Project: Kudu
>          Issue Type: Bug
>          Components: ops-tooling
>    Affects Versions: Public beta
>            Reporter: Todd Lipcon
>
> ksck currently creates an rpc proxy directly to the master, and is only 
> configured by a single address. This doesn't work in a multi-master cluster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to