Adar Dembo has posted comments on this change.

Change subject: KUDU-526: use on-disk cmeta when loading existing master state

Patch Set 3:

(1 comment)
File src/kudu/master/

Line 110:   if (master_->opts().IsDistributed()) {
> should we be verifying that, if the user passed any configuration on the co
That particular scenario can't happen: if there was a typo in a hostname the 
first time around, CreateDistributedConfig() would fail before any cmeta file 
is written to disk. Thus on restart, there'd be no cmeta to compare with. Of 
course, it's still a hard-to-understand state: the FS exists with no cmeta 
file, so the master would end up here in Load(), fail to load the cmeta file, 
and force the user to manually reformat.

In any case, I don't like the --master_addresses gflag because it only serves a 
purpose on first run and is confusing after that. We've established that using 
it to perform an offline config change is unsafe, so after the first run it has 
no value whatsoever. I think we should remove it and ask users to run a 
"format" command on each master, which would set up an FS and a cmeta without 
uuids. At runtime, each master would resolve the uuids with one another. We 
could even handle uuid resolution in "format" too:
1. On each master, format to create an FS. Get the uuid.
2. On each master, generate the cmeta using the set of all uuids and hostports.
3. Start each master. No uuid resolution needed.

It's a little more orchestration up front so I'm not sure if it's the best 
approach, but I like that it clearly delineates one-time admin setup from the 
work done by the masters at boot time.

Anyway, I'm curious to hear your thoughts no the above. I'm inclined to leave 
this as-is for now, unless you can think of a more plausible confusing failure 

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: I5b4c6d8b6adf696973445a6f9d1314ba9de27e70
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <>
Gerrit-Reviewer: Adar Dembo <>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <>
Gerrit-Reviewer: Todd Lipcon <>
Gerrit-HasComments: Yes

Reply via email to