https://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2013-06-23T13:30:46ZCeph Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=238582013-06-23T13:30:46ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/23858/diff?detail_id=26785">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=238592013-06-23T13:31:23ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/23859/diff?detail_id=26786">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=238602013-06-23T13:33:22ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/23860/diff?detail_id=26787">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=238612013-06-23T14:06:33ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/23861/diff?detail_id=26788">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=241132013-07-01T14:56:08ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Parent task</strong> changed from <i>#5046</i> to <i>#4929</i></li></ul>Sam's comments:
<ul>
<li>It is better to do the changes within the same file to better read the diffs</li>
<li>The changes are in the right direction but they will need to be smaller</li>
</ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=251972013-07-24T15:42:20ZSamuel Justsjust@redhat.com
<ul><li><strong>Subject</strong> changed from <i>Factor out PG::RecoveryState</i> to <i>Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interface</i></li></ul><p>I've reconsidered a bit, and I think it would be easier to leave most of the PG implementation where it is and factor out all of the ReplicatedPG logic (handling client IO, recovery) as implementing a PGBackend interface used by PG. This will be similar to the initial approach of cleaning up the PG/ReplicatedPG divison and implementing an ErasureCodedPG, except that we will be able to test the replicated and erasure coded implementations of the PGBackend through the PGBackend interface. This will allow us to more easily maintain a single implementation for most of the scrub, peering, and backfill logic (which should be fundamentally similar for both PG implementations).</p>
<pre>
[15:46:25] <sjustlaptop> the more I think about it, the more it became clear that factoring out the PG RecoveryState logic was going to be a nightmare
[15:46:32] <sjustlaptop> instead, we should essentially factor out everything else
[15:47:01] <sjustlaptop> nearly all of what we've done so far still applies
[15:48:44] <loicd> sjustlaptop: that makes sense to me. So PG.{cc,h} as it is would essentially become the RecoveryState & supporting functions. And what does not belong gets factored out. Is this what you mean ?
[15:49:41] -*- loicd slightly paraphrasing http://tracker.ceph.com/issues/5433#note-6 :-)
[15:50:09] <sjustlaptop> loicd: yeah, that's the gist of it
[15:50:18] <sjustlaptop> also, backfill, scrub stay where they are
[15:50:31] <sjustlaptop> some replication logic (e.g., what to replicate and when) will move from ReplicatedPG to PG
[15:50:41] <sjustlaptop> how to replicate will remain in ReplicatedPG
[15:51:59] <sjustlaptop> correction: backfill is in ReplicatedPG, some of that logic will float up to PG
[15:52:28] <loicd> sjustlaptop: so ReplicatedPG would no longer exist as a derived class of PG. It would become a PGBackend from which PGReplicatedBackend and PGErasureCodeBackend are derived. And PG would use the PGBackend interface ?
[15:52:40] <sjustlaptop> yeah
[15:52:47] <loicd> I like that :-)
[15:52:50] <sjustlaptop> and hopefully, the PGBackends won't need a PG interface to work with at all
[15:53:38] <loicd> I'll go in this direction sjustlaptop , thanks :-)
[15:53:38] <sjustlaptop> that's my main beef with the current ReplicatedPG/PG setup, ReplicatedPG knows way too much about the contents of PG
</pre> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=251982013-07-24T15:45:34ZSamuel Justsjust@redhat.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25198/diff?detail_id=27823">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=252822013-07-27T12:18:41ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25282/diff?detail_id=27894">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=252992013-07-29T06:01:54ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25299/diff?detail_id=27907">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=253662013-07-30T07:57:22ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25366/diff?detail_id=27978">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=253682013-07-30T09:29:44ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25368/diff?detail_id=27980">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=253692013-07-30T09:32:17ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25369/diff?detail_id=27981">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=253702013-07-30T09:34:45ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25370/diff?detail_id=27982">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=253712013-07-30T10:04:36ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/25371/diff?detail_id=27983">diff</a>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=258752013-08-14T07:08:10ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Assignee</strong> deleted (<del><i>Loïc Dachary</i></del>)</li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=260262013-08-15T19:09:49ZSamuel Justsjust@redhat.com
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>12</i></li></ul> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=329972014-03-07T04:39:45ZLoïc Dacharyloic@dachary.org
<ul><li><strong>Status</strong> changed from <i>12</i> to <i>Rejected</i></li><li><strong>translation missing: en.field_remaining_hours</strong> set to <i>0.0</i></li></ul><p>Done elsewhere</p> Ceph - Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfacehttps://tracker.ceph.com/issues/5433?journal_id=330142014-03-07T04:50:44ZLoïc Dacharyloic@dachary.org
<ul><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li><li><strong>Estimated time</strong> set to <i>0.00 h</i></li></ul>