Skip to content

Commit d9e27cf

Browse files
author
Sriram Ganesan
committed
Set the vbucket state after warmup is complete
================== WARNING: ThreadSanitizer: data race (pid=49270) Read of size 8 at 0x7d900001c000 by thread T4: #0 vbucket_state** std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<vbucket_state* const*, std::vector<vbucket_state*, std::allocator<vbucket_state*> > >, vbucket_state**>(__gnu_cxx::__normal_iterator<vbucket_state* const*, std::vector<vbucket_state*, std::allocator<vbucket_state*> > >, __gnu_cxx::__normal_iterator<vbucket_state* const*, std::vector<vbucket_state*, std::allocator<vbucket_state*> > >, vbucket_state**) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_construct.h:75 (ep-engine_ep_unit_tests+0x0000006e3980) #1 Warmup::populateShardVbStates() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/warmup.cc:1030 (ep-engine_ep_unit_tests+0x00000067999a) #2 Warmup::initialize() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/warmup.cc:459 (ep-engine_ep_unit_tests+0x0000006797ec) Previous write of size 8 at 0x7d900001c000 by thread T12 (mutexes: write M119516, write M119521): #0 KVStore::updateCachedVBState(unsigned short, vbucket_state const&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/kvstore.cc:122 (ep-engine_ep_unit_tests+0x0000006ade1c) #1 ForestKVStore::snapshotVBucket(unsigned short, vbucket_state&, VBStatePersist) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/forest-kvstore/forest-kvstore.cc:1413 (ep-engine_ep_unit_tests+0x0000006e4249) #2 EventuallyPersistentStore::persistVBState(unsigned short) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep.cc:1355 (ep-engine_ep_unit_tests+0x0000005b0fb8) #3 VBStatePersistTask::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/tasks.cc:55 (ep-engine_ep_unit_tests+0x000000660a55) #4 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:113 (ep-engine_ep_unit_tests+0x000000616ef1) #5 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:31 (ep-engine_ep_unit_tests+0x000000616aa5) #6 platform_thread_wrap(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/platform/src/cb_pthreads.cc:54 (libplatform.so.0.1.0+0x00000000586b) Change-Id: I4e807ac9a23baf9e4d352f13ef65f3f5a345cd60 Reviewed-on: http://review.couchbase.org/66050 Tested-by: buildbot <[email protected]> Reviewed-by: Dave Rigby <[email protected]>
1 parent 14dacbe commit d9e27cf

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

tests/module_tests/evp_engine_test.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,13 @@ void EventuallyPersistentEngineTest::SetUp() {
4343
EXPECT_EQ(ENGINE_SUCCESS, engine->initialize(config.c_str()))
4444
<< "Failed to initialize engine.";
4545

46-
engine->setVBucketState(vbid, vbucket_state_active, false);
47-
4846
// Wait for warmup to complete.
4947
while (engine->getEpStore()->isWarmingUp()) {
5048
usleep(10);
5149
}
50+
51+
// Set the vbucket state to active
52+
engine->setVBucketState(vbid, vbucket_state_active, false);
5253
}
5354

5455
void EventuallyPersistentEngineTest::TearDown() {

0 commit comments

Comments
 (0)