Ceph : Issueshttps://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2019-08-13T01:18:42ZCeph
Redmine Ceph - Bug #41216 (Resolved): os/bluestore: Don't forget sub kv_submitted_waiters.https://tracker.ceph.com/issues/412162019-08-13T01:18:42Zjianpeng majianpeng.ma@intel.com
<p>in func flush_all_but_last, it forgets to dec kv_submitted_waiters when it returns for condition "it->state >= TransContext::STATE_KV_SUBMITTE".<br />void flush_all_but_last() {<br /> std::unique_lock l(qlock);<br /> assert (q.size() >= 1);<br /> while (true) {<br /> // set flag before the check because the condition<br /> // may become true outside qlock, and we need to make<br /> // sure those threads see waiters and signal qcond.<br /> +<ins>kv_submitted_waiters;<br /> if (q.size() <= 1) { <br /> --kv_submitted_waiters;<br /> return;<br /> } else {<br /> auto it = q.rbegin();<br /> it</ins>+;<br /> if (it->state >= TransContext::STATE_KV_SUBMITTED) {<br /> return;<br /> } <br /> } <br /> qcond.wait(l);<br /> --kv_submitted_waiters;<br /> } <br /> }</p> Ceph - Bug #39643 (In Progress): make jemalloc/tcmalloc work.https://tracker.ceph.com/issues/396432019-05-09T08:26:53Zjianpeng majianpeng.ma@intel.com
<p>In commit 2e01287, it let libcommon or libceph-common take care of this.<br />But in fact, libcommon/libceph-common didn't link ALLOC_LIBS which make other<br />bin-files couldn't use jemalloc/tcmalloc.</p> Ceph - Bug #39623 (Resolved): make cluster_network work well.https://tracker.ceph.com/issues/396232019-05-08T03:26:59Zjianpeng majianpeng.ma@intel.com
<p>This temporary parameter make address is zero. So make cluster_addr is<br />equal public_addr and make cluster_network disable.</p> bluestore - Bug #24761 (Resolved): set correctly shard for existed Collection.https://tracker.ceph.com/issues/247612018-07-03T23:29:03Zjianpeng majianpeng.ma@intel.com
<p>For existed Collection, the constructor be called in _open_collections.<br />But m_finisher_num can't setup when enable bluestore_shard_finishers.</p>
<p>So move m_finisher_num setup before _open_collections.</p> bluestore - Bug #24561 (Resolved): if disableWAL is set, submit_transacton_sync will met error.https://tracker.ceph.com/issues/245612018-06-19T03:03:44Zjianpeng majianpeng.ma@intel.com
<p>If disableWAL is set, it will met those error:</p>
<p>rocksdb: submit_common error: Invalid argument: Sync writes has to enable WAL. code = 4 Rocksdb transaction:</p> bluestore - Bug #24560 (Resolved): BitmapAllocator::_mark_allocated parameter overflow.https://tracker.ceph.com/issues/245602018-06-19T02:20:05Zjianpeng majianpeng.ma@intel.com
<p>In fact, length of 'struct interval_t' and 'struct bluestore_pextent_t'<br />is uint32_t. But len of AllocatorLevel02::_mark_allocated is uint64_t.<br />So it may cause data overflow which cause bug.</p> Ceph - Bug #17760 (Closed): compile errorhttps://tracker.ceph.com/issues/177602016-11-01T07:20:41Zjianpeng majianpeng.ma@intel.com
<p>/mnt/ceph/src/test/erasure-code/TestErasureCodePluginJerasure.cc:25:25: fatal error: gtest/gtest.h: No such file or directory<br />compilation terminated.<br />src/test/erasure-code/CMakeFiles/unittest_erasure_code_plugin_jerasure.dir/build.make:62: recipe for target 'src/test/erasure-code/CMakeFiles/unittest_erasure_code_plugin_jerasure.dir/TestErasureCodePluginJerasure.cc.o' failed</p>
<p>This is because the PR:https://github.com/ceph/ceph/pull/11714</p> Ceph - Bug #14954 (Rejected): BlueStore: met assert when write size==bluestore_overlay_max_lengthhttps://tracker.ceph.com/issues/149542016-03-03T02:15:04Zjianpeng majianpeng.ma@intel.com
<p>Suppose set bluestore_overlay_max_length == bluestore_min_alloc_size && bluestore_overlay_max > 0.<br />write(bluestore_min_alloc_size, offset=0). It will met those errors:<br /> 0> 2016-03-03 18:32:22.089828 7f2719572700 -1 os/bluestore/BlueStore.cc: In function 'int BlueStore::_do_write(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::bufferlist&, uint32_t)' thread 7f2719572700 time 2016-03-03 18:32:22.083797<br />os/bluestore/BlueStore.cc: 5601: FAILED assert(0 == "leaked unwritten extent")</p>
<pre><code>ceph version 10.0.3-2621-g045ad3d (045ad3d2a5bf85698d9d28e8e47bfe3ec2a136af)<br /> 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x80) [0x55a57b3990a0]<br /> 2: (BlueStore::_do_write(BlueStore::TransContext*, boost::intrusive_ptr&lt;BlueStore::Collection&gt;&, boost::intrusive_ptr&lt;BlueStore::Onode&gt;, unsigned long, unsigned long, ceph::buffer::list&, unsigned int)+0x302a) [0x55a57afd7b9a]<br /> 3: (BlueStore::_write(BlueStore::TransContext*, boost::intrusive_ptr&lt;BlueStore::Collection&gt;&, boost::intrusive_ptr&lt;BlueStore::Onode&gt;&, unsigned long, unsigned long, ceph::buffer::list&, unsigned int)+0x2ee) [0x55a57afd873e]<br /> 4: (BlueStore::_txc_add_transaction(BlueStore::TransContext*, ObjectStore::Transaction*)+0xcd4) [0x55a57aff0d94]<br /> 5: (BlueStore::queue_transactions(ObjectStore::Sequencer*, std::vector&lt;ObjectStore::Transaction, std::allocator&lt;ObjectStore::Transaction&gt; >&, std::shared_ptr&lt;TrackedOp&gt;, ThreadPool::TPHandle*)+0x4cb) [0x55a57aff382b]<br /> 6: (ReplicatedPG::queue_transactions(std::vector&lt;ObjectStore::Transaction, std::allocator&lt;ObjectStore::Transaction&gt; >&, std::shared_ptr&lt;OpRequest&gt;)+0x81) [0x55a57ae6eff1]<br /> 7: (void ReplicatedBackend::sub_op_modify_impl&lt;MOSDRepOp, 112&gt;(std::shared_ptr&lt;OpRequest&gt;)+0xc2d) [0x55a57aed585d]<br /> 8: (ReplicatedBackend::sub_op_modify(std::shared_ptr&lt;OpRequest&gt;)+0x44) [0x55a57aebf8b4]<br /> 9: (ReplicatedBackend::handle_message(std::shared_ptr&lt;OpRequest&gt;)+0x2fb) [0x55a57aebfc3b]<br /> 10: (ReplicatedPG::do_request(std::shared_ptr&lt;OpRequest&gt;&, ThreadPool::TPHandle&)+0xbd) [0x55a57ae1326d]<br /> 11: (OSD::dequeue_op(boost::intrusive_ptr&lt;PG&gt;, std::shared_ptr&lt;OpRequest&gt;, ThreadPool::TPHandle&)+0x411) [0x55a57acbb131]<br /> 12: (PGQueueable::RunVis::operator()(std::shared_ptr&lt;OpRequest&gt;&)+0x52) [0x55a57acbb382]<br /> 13: (OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*)+0x6e1) [0x55a57acd50c1]<br /> 14: (ShardedThreadPool::shardedthreadpool_worker(unsigned int)+0x734) [0x55a57b3892e4]<br /> 15: (ShardedThreadPool::WorkThreadSharded::entry()+0x10) [0x55a57b38c3f0]<br /> 16: (()+0x760a) [0x7f2737a1360a]<br /> 17: (clone()+0x6d) [0x7f27359bca4d]<br /> NOTE: a copy of the executable, or `objdump -rdS &lt;executable&gt;` is needed to interpret this.</code></pre> Ceph - Bug #14920 (Resolved): If bluestore_sync_submit_transaction == true, make ceph don't work.https://tracker.ceph.com/issues/149202016-02-29T06:21:06Zjianpeng majianpeng.ma@intel.com
<p>If bluestore_sync_submit_transaction = true; it submit transaction in _txc_state_proc.<br />For the extent alloca/release info need update in _kv_sync_thread. But because blustore_sync_submit_transaction == true, it don't submit transaction again.<br />So the extent alloca/release don't store in kv. After reboot, fsck met error.</p> CephFS - Feature #12265 (New): Add Iohint in cephfshttps://tracker.ceph.com/issues/122652015-07-10T05:27:31Zjianpeng majianpeng.ma@intel.com
<p>This is the plan of BP "Add Iohint in Cephfs"(<a class="external" href="http://tracker.ceph.com/projects/ceph/wiki/Add_IOhint_in_CephFS">http://tracker.ceph.com/projects/ceph/wiki/Add_IOhint_in_CephFS</a>).</p>
<p>By the following steps to implement this BP<br />a:add iohint in mds, mostly for mds journal. Like osd journal, most journal data don't read again and will overwrite. So w/ DONTNEED is make sense.<br />b:add iohint mount option. Different sub directory have different purpose. For example, one directory don't need cache data.<br />c:in cephfs client(kernel/client) add iohint. Hope the the posix_fadvise can effect the whole ceph cluster rather than client kernel page cache.<br />d:Maybe add iohint in cephfs repair.(Need review code).</p> Ceph - Bug #9019 (Resolved): Makefile.am: error: required file './README' not foundhttps://tracker.ceph.com/issues/90192014-08-05T18:16:55Zjianpeng majianpeng.ma@intel.com
<p>commit(a923e2c9eb16823fa484c) Renamed README to README.md to render in markdown. After that, i can't generate Makefile.in.</p>
<pre><code>./autogen.sh<br />+ set -e<br />+ test -f src/ceph.in<br />+ which libtoolize<br />+ [ /usr/bin/libtoolize ]<br />+ LIBTOOLIZE=libtoolize<br />+ test -d .git<br />+ git submodule update --init<br />+ rm -f config.cache<br />+ aclocal -I m4 --install<br />+ check_for_pkg_config<br />+ which pkg-config<br />+ return<br />+ libtoolize --force --copy<br />libtoolize: putting auxiliary files in `.'.<br />libtoolize: copying file `./ltmain.sh'<br />libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.<br />libtoolize: copying file `m4/libtool.m4'<br />libtoolize: copying file `m4/ltoptions.m4'<br />libtoolize: copying file `m4/ltsugar.m4'<br />libtoolize: copying file `m4/ltversion.m4'<br />libtoolize: copying file `m4/lt~obsolete.m4'<br />+ aclocal -I m4 --install<br />+ autoconf<br />+ autoheader<br />+ automake -a --add-missing -Wall<br />Makefile.am: error: required file './README' not found<br />src/test/Makefile.am:248: warning: patsubst %,$(srcdir: non-POSIX variable name<br />src/test/Makefile.am:248: (probably a GNU make extension)<br />src/Makefile.am:35: 'src/test/Makefile.am' included from here</code></pre> Ceph - Bug #5444 (Rejected): ceph df print error messagehttps://tracker.ceph.com/issues/54442013-06-24T19:16:33Zjianpeng majianpeng.ma@intel.com
<p>root@ubuntu:/media# ceph df<br />GLOBAL:<br /> SIZE AVAIL RAW USED %RAW USED <br /> 3903M 2267M 1367M 35.03</p>
<p>POOLS:<br /> NAME ID USED %USED OBJECTS <br /> data 0 309G 8109.86 79144 <br /> metadata 1 36981K 0.93 30 <br /> rbd 2 0 0 0</p>
<p>The total size of cluster if 3903M,about 4G.But the pool of data used about 309G.</p> devops - Bug #5174 (Resolved): df: ‘/media/osd.0/.’: No such file or directoryhttps://tracker.ceph.com/issues/51742013-05-26T19:45:59Zjianpeng majianpeng.ma@intel.com
<p>In my cluster, there are two machine:<br />host1: mon/mds<br />host2: two osd/mon</p>
<p>When i exec" service ceph -a start' on host1, it will print:df: ‘/media/osd.0/.’: No such file or directory.</p>
<p>Only i create a directory /media/osd.0/ on host1.It won't print the messages.</p> devops - Bug #5161 (Resolved): daemons should create /var/run/ceph if it doesn't already existhttps://tracker.ceph.com/issues/51612013-05-23T19:49:54Zjianpeng majianpeng.ma@intel.com
<p>I wanted to add a new mon into a cluster.But when i exce "ceph-mon -i majianpeng --mkfs --monmap map --keyring key", it print the following messages:</p>
<blockquote>
<p>2013-05-24 10:37:26.795665 7f446912e7c0 -1 asok(0x1440000) AdminSocketConfigObs::init: failed: >AdminSocket::bind_and_listen: failed to bind the UNIX domain socket to '/var/run/ceph/ceph-mon.majianpeng.asok': (2) No >such file or directory<br />ceph-mon: created monfs at /var/lib/ceph/mon/mon.majianpeng for mon.majianpeng</p>
</blockquote>
<p>I think the reason is there is not /var/run/ceph.<br />After I created the directory, then exec again.It's ok.</p>
<p>In document on ceph.com,there is no guide to do this.<br />I think we should create /var/run/ceph automaticly if there is no this director.</p> devops - Bug #5150 (Resolved): How many memory need if we compile ceph?https://tracker.ceph.com/issues/51502013-05-22T17:21:37Zjianpeng majianpeng.ma@intel.com
<p>My machine hardware:<br />memory: 2G<br />Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz</p>
<p>But when i compile ceph, it will cause OOM.<br />Why? Can we optimize it?</p>