Hello Kudu Jenkins,

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

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

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

Change subject: KUDU-2135 (part 1): add persistent disk states
......................................................................

KUDU-2135 (part 1): add persistent disk states

This patch introduces a new format for PathInstanceMetadataFiles that
includes a health state and path for each data directory, and a
timestamp that the path instance file was last updated.

These additions will be necessary to ensure that failed disks will not
be used and that data is where it is expected be (which will be
increasingly important as we begin to supporting removal, addition, and
replacement of disks).

The expected usage of the new format would enforce startup restrictions
on the server (e.g. to never use a previously failed disk, to not use
data if it is on a different disk than expected, etc.) and tooling does
not yet exist to work around these restrictions. As such, this patch
will upgrade and maintain the new path sets as necessary, persisting
disk health when disks fail, but will not apply the mentioned
restrictions at startup.

Additionally, since DataDirManager::Open() has grown a bit large, it
has been structured into more comprehensible parts, loosely:
1. Open all instance files, creating in-memory DataDirs for them
2. Check the integrity of the instances
3. Create the in-memory mappings for the directories
4. Update on-disk the instances that need updating/upgrading

Tests are added to data_dirs-test to ensure the path instance files get
updated and upgraded appropriately.

Change-Id: Ia7ea6418f6190d7d0c6d5a1aaca4ca592c49ce41
---
M src/kudu/fs/block_manager_util-test.cc
M src/kudu/fs/block_manager_util.cc
M src/kudu/fs/block_manager_util.h
M src/kudu/fs/data_dirs-test.cc
M src/kudu/fs/data_dirs.cc
M src/kudu/fs/data_dirs.h
M src/kudu/fs/fs.proto
7 files changed, 540 insertions(+), 129 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/8048/5
-- 
To view, visit http://gerrit.cloudera.org:8080/8048
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia7ea6418f6190d7d0c6d5a1aaca4ca592c49ce41
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot

Reply via email to