[kudu-CR] WIP Allow external miniclusters to use many data dirs
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/6845 to look at the new patch set (#7). Change subject: WIP Allow external miniclusters to use many data dirs .. WIP Allow external miniclusters to use many data dirs In order to test different disk configurations, it is becoming increasingly important to have end-to-end testing with nodes backed by multiple directories. This patch adds this functionality to the ExternalMiniCluster class, which now supports the 'num_dirs_per_tserver' option, and the ExternalDaemon class, which now supports a list of data dirs instead of a single data dir. The ExternalMiniCluster will create the ExternalDaemon with a list of data dirs that reflects 'num_dirs_per_tserver' by using the original data dir name as a prefix and appending an integer (e.g. '/dir_name' with 'num_dirs_per_tserver = 2' will result in '/dir_name-0' and '/dir_name-1'). A new test called disk-failure-itest is added that exercises this. WIP: EIO-handling patch must be completed for further testing to make sense. Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 --- M src/kudu/fs/file_block_manager.cc M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/disk-failure-itest.cc M src/kudu/integration-tests/external_mini_cluster.cc M src/kudu/integration-tests/external_mini_cluster.h M src/kudu/integration-tests/ts_itest-base.h M src/kudu/tablet/tablet_replica_mm_ops.cc M src/kudu/util/path_util.cc M src/kudu/util/path_util.h M src/kudu/util/status.h 10 files changed, 282 insertions(+), 28 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/45/6845/7 -- To view, visit http://gerrit.cloudera.org:8080/6845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew WongGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] WIP Allow external miniclusters to use many data dirs
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/6845 to look at the new patch set (#6). Change subject: WIP Allow external miniclusters to use many data dirs .. WIP Allow external miniclusters to use many data dirs In order to test different disk configurations, it is becoming increasingly important to have end-to-end testing with nodes backed by multiple directories. This patch adds this functionality to the ExternalMiniCluster class, which now supports the 'num_dirs_per_tserver' option, and the ExternalDaemon class, which now supports a list of data dirs instead of a single data dir. The ExternalMiniCluster will create the ExternalDaemon with a list of data dirs that reflects 'num_dirs_per_tserver' by using the original data dir name as a prefix and appending an integer (e.g. '/dir_name' with 'num_dirs_per_tserver = 2' will result in '/dir_name-0' and '/dir_name-1'). A new test called disk-failure-itest is added that exercises this. WIP: EIO-handling patch must be completed for further testing to make sense. Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 --- M src/kudu/fs/file_block_manager.cc M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/disk-failure-itest.cc M src/kudu/integration-tests/external_mini_cluster.cc M src/kudu/integration-tests/external_mini_cluster.h M src/kudu/integration-tests/ts_itest-base.h M src/kudu/tablet/tablet_replica_mm_ops.cc M src/kudu/util/env_posix.cc M src/kudu/util/path_util.cc M src/kudu/util/path_util.h M src/kudu/util/status.h 11 files changed, 286 insertions(+), 32 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/45/6845/6 -- To view, visit http://gerrit.cloudera.org:8080/6845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew WongGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] WIP Allow external miniclusters to use many data dirs
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/6845 to look at the new patch set (#4). Change subject: WIP Allow external miniclusters to use many data dirs .. WIP Allow external miniclusters to use many data dirs In order to test different disk configurations, it is becoming increasingly important to have end-to-end testing with nodes backed by multiple directories. This patch adds this functionality to the ExternalMiniCluster class, which now supports the 'num_dirs_per_tserver' option, and the ExternalDaemon class, which now supports a list of data dirs instead of a single data dir. The ExternalMiniCluster will create the ExternalDaemon with a list of data dirs that reflects 'num_dirs_per_tserver' by using the original data dir name as a prefix and appending an integer (e.g. '/dir_name' with 'num_dirs_per_tserver = 2' will result in '/dir_name-0' and '/dir_name-1'). A new test called disk-failure-itest is added that exercises this. WIP: EIO-handling patch must be completed for further testing to make sense. Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 --- M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/disk-failure-itest.cc M src/kudu/integration-tests/external_mini_cluster.cc M src/kudu/integration-tests/external_mini_cluster.h M src/kudu/integration-tests/ts_itest-base.h M src/kudu/util/env_posix.cc M src/kudu/util/path_util.cc M src/kudu/util/path_util.h 8 files changed, 267 insertions(+), 20 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/45/6845/4 -- To view, visit http://gerrit.cloudera.org:8080/6845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew WongGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] WIP Allow external miniclusters to use many data dirs
Adar Dembo has posted comments on this change. Change subject: WIP Allow external miniclusters to use many data dirs .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/6845/1/src/kudu/integration-tests/external_mini_cluster.h File src/kudu/integration-tests/external_mini_cluster.h: Line 70: // Number of directories to create for each daemon. > Hmm, the ext cluster currently is organized as: Yeah, that's more or less what I had in mind. Agreed that the postfixes seem cosmetic at best; may not be worth the added code. -- To view, visit http://gerrit.cloudera.org:8080/6845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew WongGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] WIP Allow external miniclusters to use many data dirs
Andrew Wong has posted comments on this change. Change subject: WIP Allow external miniclusters to use many data dirs .. Patch Set 1: (1 comment) Even the most cursory glance is greatly appreciated! http://gerrit.cloudera.org:8080/#/c/6845/1/src/kudu/integration-tests/external_mini_cluster.h File src/kudu/integration-tests/external_mini_cluster.h: Line 70: // Number of directories to create for each daemon. > Wouldn't it be more natural to convert data_root into e.g. data_roots and a Hmm, the ext cluster currently is organized as: /test-path +-cluster (this level is what is included in data_root) +-daemon (master, ts-0, ts-1) +- data dir (now supports multiple: data-0, data-1 via num_dirs_per_tserver) +- wals, data, etc. I suppose we could specify multiple directories for each cluster, have each directory mirror each other's layout, and spread data that way. e.g. /cluster-0/ts-0/data/{wals,data,etc}, /cluster-1/ts-0/data/data, /cluster-2/ts-0/data/data Where cluster-i is the ith disk on a cluster. Seems a bit complex, but good point that it could be used to test actual multi-disk systems. Is that what you're envisioning? I could see replacing num_dirs_per_tserver with a list of path posfixes, although this would only serve as an aesthetic bump, if anything. -- To view, visit http://gerrit.cloudera.org:8080/6845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew WongGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] WIP Allow external miniclusters to use many data dirs
Adar Dembo has posted comments on this change. Change subject: WIP Allow external miniclusters to use many data dirs .. Patch Set 1: (1 comment) I'll hold off on a full review until you're more comfortable with this and the compile/test failures have been addressed, but I did glance at the API. http://gerrit.cloudera.org:8080/#/c/6845/1/src/kudu/integration-tests/external_mini_cluster.h File src/kudu/integration-tests/external_mini_cluster.h: Line 70: // Number of directories to create for each daemon. Wouldn't it be more natural to convert data_root into e.g. data_roots and allow multiple roots to be specified? That actually opens the door to running the mini cluster on a bunch of disks (provided the test code can collect the disk paths via gflag or some such). -- To view, visit http://gerrit.cloudera.org:8080/6845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew WongGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] WIP Allow external miniclusters to use many data dirs
Andrew Wong has uploaded a new change for review. http://gerrit.cloudera.org:8080/6845 Change subject: WIP Allow external miniclusters to use many data dirs .. WIP Allow external miniclusters to use many data dirs In order to test different disk configurations, it is becoming increasingly important to have end-to-end testing with nodes backed by multiple directories. This patch adds this functionality to the ExternalMiniCluster class, which now supports the 'num_dirs_per_tserver' option, and the ExternalDaemon class, which now supports a list of data dirs instead of a single data dir. The ExternalMiniCluster will create the ExternalDaemon with a list of data dirs that reflects 'num_dirs_per_tserver' by using the original data dir name as a prefix and appending an integer (e.g. '/dir_name' with 'num_dirs_per_tserver = 2' will result in '/dir_name-0' and '/dir_name-1'). A new test called disk-failure-itest is added that exercises this. WIP: EIO-handling patch must be completed for further testing to make sense. Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 --- M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/disk-failure-itest.cc M src/kudu/integration-tests/external_mini_cluster.cc M src/kudu/integration-tests/external_mini_cluster.h M src/kudu/integration-tests/ts_itest-base.h M src/kudu/util/path_util.cc M src/kudu/util/path_util.h 7 files changed, 266 insertions(+), 19 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/45/6845/1 -- To view, visit http://gerrit.cloudera.org:8080/6845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id2f5def6980ad394c8558ad97ba830f1b0257332 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew Wong