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> RADOS - Bug #40577 (Resolved): vstart.sh can't work.https://tracker.ceph.com/issues/405772019-06-28T02:32:49Zjianpeng majianpeng.ma@intel.com
<p>When firstly do_cmake.sh, it will create a ceph.conf .in build dir.<br />plugin dir = lib<br />erasure code dir = lib<br />When do ../src/vstart.sh -n, it print the following message:</p>
<p>ceph-mgr dashboard not built - disabling.<br />global_init: error reading config file.<br />global_init: error reading config file.<br />global_init: error reading config file.<br />global_init: error reading config file.<br />global_init: error reading config file.<br />dirname: missing operand<br />Try 'dirname --help' for more information.</p>
<p>From debug, code "asok_dir=`dirname $($CEPH_BIN/ceph-conf -c $conf_fn --show-config-value admin_socket)`" cause erro and make vstart.sh return.<br />So i simple code: "/bin/ceph-conf -c ceph.conf --show-config-value admin_socket" <br />global_init: error reading config file.</p>
<p>By git bisect, i found commit b1289290247fcd724c9f794716176089342f1110 cause this bug.</p>
<p>BTY: if remove ceph.conf, no problem occur. I think in ceph.conf no infos about admin_socket which cause dirname with null. If ceph.conf contain admin_socket, this bug not occur.</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> Ceph - Bug #24569 (Fix Under Review): Fix outorder between Thread::create and Thread::set_iopriohttps://tracker.ceph.com/issues/245692018-06-19T06:25:06Zjianpeng majianpeng.ma@intel.com
<p>In TheadPool::start_threads:</p>
<blockquote><blockquote>
<p>int r = wt->set_ioprio(ioprio_class, ioprio_priority);<br />if (r < 0)<br />lderr(cct) << " set_ioprio got " << cpp_strerror(r) << dendl;</p>
</blockquote></blockquote>
<blockquote><blockquote>
<p>wt->create(thread_name.c_str());</p>
</blockquote></blockquote>
<p>In fact, it should firstly call create.</p> Ceph - Bug #24567 (Fix Under Review): fix a race between Thread::create and Thread::set_iopriohttps://tracker.ceph.com/issues/245672018-06-19T06:07:39Zjianpeng majianpeng.ma@intel.com
<p>We may do the following process:<br />a)Thread::create/try_create<br />b)Thread::set_ioprio</p>
<p>But the entry of Thread maybe not exec after step a) which cause step b)<br />can't set currently ioprio.<br />To fix potential race, i add mutex which make step b) wait until entry<br />exec.</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> 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> RADOS - Feature #11046 (Resolved): osd: rados io hints improvementshttps://tracker.ceph.com/issues/110462015-03-06T00:48:28Zjianpeng majianpeng.ma@intel.com
<p><a class="external" href="https://wiki.ceph.com/Planning/Blueprints/Infernalis/osd%3A_rados_io_hints_improvements">https://wiki.ceph.com/Planning/Blueprints/Infernalis/osd%3A_rados_io_hints_improvements</a></p>
<p>For this BP, divided into three parts:<br />1: add iohint handle in cache tier<br />2: add option for rbd cli<br />3: add option for command about cephfs/ceph-fuse.</p> 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> devops - Bug #5130 (Resolved): ceph-deploy osd create ubuntu:sdbhttps://tracker.ceph.com/issues/51302013-05-21T00:03:58Zjianpeng majianpeng.ma@intel.com
<p>root@majianpeng:/tmp/my-cluster# ceph-deploy osd create ubuntu:sdb<br />INFO:ceph-disk:Will colocate journal with data on /dev/sdb<br />Caution! After loading partitions, the CRC doesn't check out!<br />Caution: invalid main GPT header, but valid backup; regenerating main header<br />from backup!</p>
<p>Warning! Main partition table CRC mismatch! Loaded backup partition table<br />instead of main partition table!</p>
<p>Warning! One or more CRCs don't match. You should repair the disk!</p>
<p>Invalid partition data!<br />ceph-disk: Error: Command '['sgdisk', '--new=2:0:1024M', '--change-name=2:ceph journal', '--partition-guid=2:d23bc8e4-4967-4ae0-9966-99851c670580', '--typecode=2:45b0969e-9b03-4f30-b4c6-b4b80ceff106', '--', '/dev/sdb']' returned non-zero exit status 2<br />Traceback (most recent call last):<br /> File "/usr/bin/ceph-deploy", line 22, in <module><br /> main()<br /> File "/usr/lib/pymodules/python2.7/ceph_deploy/cli.py", line 112, in main<br /> return args.func(args)<br /> File "/usr/lib/pymodules/python2.7/ceph_deploy/osd.py", line 293, in osd<br /> prepare(args, cfg, activate_prepared_disk=True)<br /> File "/usr/lib/pymodules/python2.7/ceph_deploy/osd.py", line 177, in prepare<br /> dmcrypt_dir=args.dmcrypt_key_dir,<br /> File "/usr/lib/python2.7/dist-packages/pushy/protocol/proxy.py", line 255, in <lambda><br /> (conn.operator(type_, self, args, kwargs))<br /> File "/usr/lib/python2.7/dist-packages/pushy/protocol/connection.py", line 66, in operator<br /> return self.send_request(type_, (object, args, kwargs))<br /> File "/usr/lib/python2.7/dist-packages/pushy/protocol/baseconnection.py", line 323, in send_request<br /> return self.__handle(m)<br /> File "/usr/lib/python2.7/dist-packages/pushy/protocol/baseconnection.py", line 639, in __handle<br /> raise e<br />pushy.protocol.proxy.ExceptionProxy: Command '['ceph-disk-prepare', '--', '/dev/sdb']' returned non-zero exit status 1</p>