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 1 commit into from Jan 2, 2018


None yet
4 participants
Copy link

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/ 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
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

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

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

5 checks passed

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

@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.