Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os/bluestore: fix potential assert when splitting collection. #19519

Merged
merged 1 commit into from Jan 2, 2018

Conversation

Projects
None yet
4 participants
@ifed01
Copy link
Contributor

commented Dec 14, 2017

This bug caused occasional failures when running ceph_test_objectstore's ObjectStore/StoreTest.ColSplitTest1Clones/2 test case:
/home/if/ssd/ceph.i/src/os/bluestore/BlueStore.cc: 8864: FAILED assert(!osr->deferred_running)

ceph version 13.0.0-4008-g807152af2c (807152a) mimic (dev)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0xf5) [0x7f1f3ecd2ff5]
2: (BlueStore::_deferred_submit_unlock(BlueStore::OpSequencer*)+0x783) [0x55f80d418373]
3: (BlueStore::_osr_drain_preceding(BlueStore::TransContext*)+0x9e) [0x55f80d41843e]
4: (BlueStore::_split_collection(BlueStore::TransContext*, boost::intrusive_ptrBlueStore::Collection&, boost::intrusive_ptrBlueStore::Collection&, unsigned int, int)+0x8e) [0x55f80
d43cd1e]
5: (BlueStore::_txc_add_transaction(BlueStore::TransContext*, ObjectStore::Transaction*)+0xa61) [0x55f80d4696e1]
6: (BlueStore::queue_transactions(ObjectStore::Sequencer*, std::vector<ObjectStore::Transaction, std::allocatorObjectStore::Transaction >&, boost::intrusive_ptr, ThreadPoo
l::TPHandle*)+0x519) [0x55f80d46b379]
7: (ObjectStore::apply_transactions(ObjectStore::Sequencer*, std::vector<ObjectStore::Transaction, std::allocatorObjectStore::Transaction >&, Context*)+0x1e6) [0x55f80d343166]
8: (ObjectStore::apply_transaction(ObjectStore::Sequencer*, ObjectStore::Transaction&&, Context*)+0x52) [0x55f80d3232e2]
9: (int apply_transaction<ObjectStore*>(ObjectStore*&, ObjectStore::Sequencer*, ObjectStore::Transaction&&)+0xa1) [0x55f80d32adf1]
10: (colsplittest(ObjectStore*, unsigned int, unsigned int, bool)+0x8b7) [0x55f80d302de7]
11: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::)(), char const)+0x4a) [0x55f80d59aeda]
12: (testing::Test::Run()+0xba) [0x55f80d58d8ea]
13: (testing::TestInfo::Run()+0xaf) [0x55f80d58d9cf]
14: (testing::TestCase::Run()+0xe5) [0x55f80d58db35]
15: (testing::internal::UnitTestImpl::RunAllTests()+0x468) [0x55f80d58e228]
16: (testing::UnitTest::Run()+0x69) [0x55f80d58e389]
17: (main()+0x5da) [0x55f80d1c82ba]
18: (__libc_start_main()+0xea) [0x7f1f3cb9af4a]
19: (_start()+0x2a) [0x55f80d2947fa]

Signed-off-by: Igor Fedotov ifedotov@suse.com

os/bluestore: fix potential assert when splitting collection.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>

@tchaikov tchaikov merged commit 2a6650d into ceph:master Jan 2, 2018

5 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
make check (arm64) make check succeeded
Details

@ifed01 ifed01 deleted the ifed01:wip-ifed-fix-col-split branch Jan 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.