https://dev.arvados.org/https://dev.arvados.org/favicon.ico?15576888422018-02-21T21:12:41ZArvadosArvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=603412018-02-21T21:12:41ZLucas Di Pentimalucas.dipentima@curii.com
<ul></ul><ul>
<li>Collections could have a flag that activates a copy-on-write behavior, maybe with a configurable default value.</li>
<li>The collection update operation could also have a flag to override the collection’s copy-on-write setting. This would allow FUSE driver to have some control over when to checkpoint modifications.</li>
<li>Collections also would need a field to point to their ancestor collection, being filled with its own UUID or NULL (the latter would allow an easier database migration) when it’s created from scratch.</li>
<li>When copy-on-write is active and the collection is updated, before doing so it should be copied and saved as a new collection, and its UUID be used to update the ancestor field of the collection being updated. This way we'll have the UUID as a reference to the most recent version and the PDH as reference to the exact version (like git, commit hashes versus branches).</li>
<li>We may also need a way to distinguish between current versus old versions, so that they can be filtered out from project listings.
<ul>
<li>In the case of the user needing to restore an old version to some project, would the standard “copy to project” action be enough?</li>
</ul>
</li>
<li>For simplicity’s sake, we could start with a linear history:
<ul>
<li>Make old version collections immutable to avoid creating alternate version branches</li>
<li>Add a descendant_uuid field that’s filled up on creation for easy history forward-navigation. This would also allow to distinguish old versions (descendant_uuid != NULL) supporting the above feature.</li>
<li>Moving a collection to a new project would also include its ancestors</li>
<li>When trashing a collection, its ancestors should be trashed as well</li>
</ul>
</li>
<li>Things to consider:
<ul>
<li>Should search optionally include the old versions?</li>
<li>What should happen with attributes like name (collisions), description, properties, replication_desired?</li>
<li>Should the future storage_classes_desired attribute be treated the same way as trash_at and owner_uuid?</li>
<li>On the UI side (maybe this is for a separate story):
<ul>
<li>Should a collection view show the entire history or its immediate ancestor/descendant, taking into account the performance implications?</li>
<li>If the user is viewing an old version, some actions should be visibly disabled (eg: Move to project)</li>
</ul></li>
</ul></li>
</ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=615502018-04-04T15:58:10ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/61550/diff?detail_id=58658">diff</a>)</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=627342018-05-16T15:17:18ZTom Cleggtom@curii.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-6 status-3 priority-4 priority-default closed parent" href="/issues/13494">Idea #13494</a>: Browse previous versions of a collection</i> added</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=631052018-06-04T16:40:44ZTom Cleggtom@curii.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-4 priority-default closed parent" href="/issues/13561">Feature #13561</a>: [API] Store, and add APIs to retrieve, previous versions of collection objects</i> added</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=642542018-07-11T14:48:21ZTom Cleggtom@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/64254/diff?detail_id=61164">diff</a>)</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=655042018-08-08T15:58:24ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/65504/diff?detail_id=62429">diff</a>)</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=655112018-08-08T16:23:37ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/65511/diff?detail_id=62435">diff</a>)</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=655122018-08-08T16:30:24ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/65512/diff?detail_id=62436">diff</a>)</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=660122018-08-21T17:42:54ZTom Cleggtom@curii.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-6 status-3 priority-4 priority-default closed parent" href="/issues/14086">Idea #14086</a>: [keep-web] Serve previous collection versions</i> added</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=674412018-10-03T16:09:38ZTom Cleggtom@curii.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-6 status-3 priority-4 priority-default closed parent" href="/issues/14299">Idea #14299</a>: [keep-balance] Ensure blocks referenced by old collection versions are safe from garbage collection</i> added</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=683152018-10-31T15:28:26ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Related to</strong> deleted (<i><a class="issue tracker-6 status-3 priority-4 priority-default closed parent" href="/issues/13494">Idea #13494</a>: Browse previous versions of a collection</i>)</li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=683172018-10-31T15:31:02ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Resolved</i></li></ul> Arvados - Feature #13109: Support collection versionshttps://dev.arvados.org/issues/13109?journal_id=697632018-12-12T17:18:13ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Target version</strong> changed from <i>To Be Groomed</i> to <i>2018-11-28 Sprint</i></li><li><strong>Release</strong> set to <i>14</i></li></ul>