Hello Will Berkeley, Mike Percy, Kudu Jenkins, Hao Hao,

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

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

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

Change subject: tablet_copy_client-test: have servers use same number of dirs
......................................................................

tablet_copy_client-test: have servers use same number of dirs

The TestDownloadBlock copies a block from one server to another. Before
doing so, the copy client ensures that the block it's about to copy over
does not exist in the local FS, and doing so entails doing a block
lookup.

The problem is that, since 8a81f4ff18ee30951a25bab247fa5a3c20058e49, the
client's local FS has two data directories, while the source tablet
server has three.

When running with --block_manager=file, block IDs are prefixed with the
index of the directory they are in. This is problematic because for
safety, block lookups DCHECK that the index of the block makes sense
with the number of data directories. Given the mentioned configurations,
when looking up a block in the third directory from the source tserver,
the local FS would hit the DCHECK:

F1205 10:17:50.160812 1999118336 data_dirs.cc:953] Check failed: uuid_idx < 
data_dirs_.size() (2 vs. 2)
*** Check failure stack trace: ***
*** Aborted at 1512497870 (unix time) try "date -d @1512497870" if you are 
using GNU date ***
PC: @     0x7fff99d2df06 __pthread_kill
*** SIGABRT (@0x7fff99d2df06) received by PID 53106 (TID 0x7fff77282000) stack 
trace: ***
    @     0x7fff86cea52a _sigtramp
    @                0x2 (unknown)
    @     0x7fff8acd86df abort
    @        0x108b3d049 google::logging_fail()
    @        0x108b3d03a google::LogMessage::Fail()
    @        0x108b3c129 google::LogMessage::SendToLog()
    @        0x108b3c7cd google::LogMessage::Flush()
    @        0x108b405ef google::LogMessageFatal::~LogMessageFatal()
    @        0x108b3d3d9 google::LogMessageFatal::~LogMessageFatal()
    @        0x10719e0b1 kudu::fs::DataDirManager::FindDataDirByUuidIndex()
    @        0x1071dbc5f kudu::fs::FileBlockManager::FindBlockPath()
    @        0x1071e234a kudu::fs::FileBlockManager::OpenBlock()
    @        0x1072019dc kudu::FsManager::OpenBlock()
    @        0x104666ee1 kudu::tserver::TabletCopyTest::ReadLocalBlockFile()
    @        0x104665eda 
kudu::tserver::TabletCopyClientTest_TestDownloadBlock_Test::TestBody()
    @        0x10817ea5a 
testing::internal::HandleExceptionsInMethodIfSupported<>()
    @        0x10817e94f testing::Test::Run()
    @        0x10817f94e testing::TestInfo::Run()
    @        0x108180303 testing::TestCase::Run()
    @        0x10818774b testing::internal::UnitTestImpl::RunAllTests()
    @        0x108187303 
testing::internal::HandleExceptionsInMethodIfSupported<>()
    @        0x10818721e testing::UnitTest::Run()
    @        0x1047939e1 RUN_ALL_TESTS()
    @        0x1047935fd main
    @     0x7fff913265ad start
    @                0x1 (unknown)

The solution in this patch is to make the number of directories in the
local FS equal the number of directories in the remote tserver.

A slight change to TestDownloadAllBlocks has also been made to
accommodate the change in directories.

Change-Id: I4c65a10a2a0f32ad0ecb467073dbec9965d2b093
---
M src/kudu/tserver/tablet_copy-test-base.h
M src/kudu/tserver/tablet_copy_client-test.cc
2 files changed, 15 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/67/8767/4
--
To view, visit http://gerrit.cloudera.org:8080/8767
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4c65a10a2a0f32ad0ecb467073dbec9965d2b093
Gerrit-Change-Number: 8767
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Hao Hao <hao....@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Will Berkeley <wdberke...@gmail.com>

Reply via email to