https://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2010-11-29T10:18:36ZCeph Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=17812010-11-29T10:18:36ZSage Weilsage@newdream.net
<ul><li><strong>Target version</strong> changed from <i>12</i> to <i>v0.25</i></li></ul> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=18122010-11-30T15:56:16ZSage Weilsage@newdream.net
<ul><li><strong>translation missing: en.field_position</strong> set to <i>3</i></li></ul> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=19572010-12-11T13:54:49ZSage Weilsage@newdream.net
<ul><li><strong>Assignee</strong> set to <i>Yehuda Sadeh</i></li></ul> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=19592010-12-12T21:43:54ZSage Weilsage@newdream.net
<ul><li><strong>Subject</strong> changed from <i>osd; query pool/pg for objects with given xattr </i> to <i>osd: query pool/pg for objects with given xattr </i></li></ul> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=20762011-01-03T17:27:31ZYehuda Sadehyehuda@redhat.com
<ul></ul><p>The problem that I see is that this is going to be a very slow operation, and we need to figure out how not to timeout. One solution is that we return immediately with an 'operation token', and later on we can poll the osd with this token, so that we get the results that were accumulated in the mean time.<br />Another easier option, is just have it similar to a read-first - read-next sequence. The client first sends an initial request: pgcall-init, then the client sends pgcall-process(x) where x is the number of entries the client wants to go over. The osd then processes that amount of entries and only responds with the entries that weren't filtered out (can be an empty response). Then the client iterates over until everything is completed. This will be slower than the first solution, however, much simpler.</p> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=20782011-01-03T19:52:58ZSage Weilsage@newdream.net
<ul></ul><p>Can we use the list objects operation (LSPG?) as a model here? That's basically what it does.. it grabs up to N items and there's a cookie to continue the operation.</p> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=20842011-01-04T14:47:27ZYehuda Sadehyehuda@redhat.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Resolved</i></li></ul><p>implemented it as a new PGLS_FILTER operation, but reuses the PGLS operation code. There's no class extension now, but in the future we might want to add that (once we have some more use cases).<br />The problem with creating new pg class methods is that they'll run in a different context than the current object class method, hence they'll require a different api. We think that at this point where we only have a single case we'd be better off just implementing the filtering option as a new op. In any case, we're passing enough parameters to the new op so that if we decide to implement a pg class mechanism, it'd be compatible.</p>
<p>Implemented in <a class="changeset" title="osd, objecter: pgls filtering option" href="https://tracker.ceph.com/projects/ceph/repository/revisions/1b0bb7a1e95da0de29adbbc57c2b299a66a19ee5">1b0bb7a1e95da0de29adbbc57c2b299a66a19ee5</a></p> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=20892011-01-05T15:14:16ZYehuda Sadehyehuda@redhat.com
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>In Progress</i></li></ul> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=21052011-01-06T15:02:45ZYehuda Sadehyehuda@redhat.com
<ul></ul><p>yehudasa@skinny:~/ceph/src$ ./rados ls -p metadata --filter="parent 0x100" <br />602.00000000<br /> dirino=100 dname=stray2 v=1<br />604.00000000<br /> dirino=100 dname=stray6 v=1<br />605.00000000<br /> dirino=100 dname=stray7 v=1<br />606.00000000<br /> dirino=100 dname=stray3 v=1<br />607.00000000<br /> dirino=100 dname=stray1 v=1<br />603.00000000<br /> dirino=100 dname=stray0 v=1</p> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=22392011-01-19T21:15:23ZSage Weilsage@newdream.net
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>7</i></li></ul> Ceph - Feature #609: osd: query pool/pg for objects with given xattr https://tracker.ceph.com/issues/609?journal_id=25632011-03-01T16:38:05ZSage Weilsage@newdream.net
<ul><li><strong>Status</strong> changed from <i>7</i> to <i>Resolved</i></li></ul>