https://dev.arvados.org/https://dev.arvados.org/favicon.ico?15576888422015-09-01T18:57:04ZArvadosArvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=296202015-09-01T18:57:04ZPeter Amstutzpeter.amstutz@curii.com
<ul><li><strong>Story points</strong> set to <i>1.0</i></li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=296902015-09-02T19:36:17ZBrett Smithbrett.smith@curii.com
<ul><li><strong>Target version</strong> changed from <i>Arvados Future Sprints</i> to <i>2015-09-16 sprint</i></li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=296992015-09-02T19:42:01ZBrett Smithbrett.smith@curii.com
<ul><li><strong>Target version</strong> changed from <i>2015-09-16 sprint</i> to <i>2015-09-30 sprint</i></li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=302672015-09-15T19:36:58ZBrett Smithbrett.smith@curii.com
<ul><li><strong>Assigned To</strong> set to <i>Radhika Chippada</i></li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=303202015-09-16T17:48:21ZBrett Smithbrett.smith@curii.com
<ul><li><strong>Story points</strong> changed from <i>1.0</i> to <i>2.0</i></li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=303562015-09-17T19:28:07ZRadhika Chippadaradhika@curoverse.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=303802015-09-21T15:17:14ZTom Cleggtom@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/30380/diff?detail_id=29771">diff</a>)</li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=303832015-09-21T19:45:08ZTom Cleggtom@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/30383/diff?detail_id=29778">diff</a>)</li></ul> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=304882015-09-24T15:27:56ZTom Cleggtom@curii.com
<ul></ul><p>Not sure about adding <code>&& arvadosclient.UUIDMatch(hint[2:])</code> to the "gateway" check. AFAICT it would only make a difference if the server has already told us about a keep service with a UUID that doesn't look like a UUID, in which case it would seem just as appropriate to use it as to ignore it. So it seems like an extra regexp match in every normal case, for the sake of changing from one reasonable outcome to another in an abnormal case...?</p>
<p>The other changes in SetServiceRoots seem to cause a hint like <code>+XY{uuid}</code> to land us in the "fetch from gateway with given uuid" code, where X is any letter except A, and Y is anything. This seems incorrect: this code should only run for <code>+K@{uuid}</code>. What is the intent/rationale for this change?</p>
<p>"type keepServices struct" should be "type keepService struct"</p>
This looks like it could move out of the "for remaining_replicas > 0" loop:
<ul>
<li><pre>
replicasPerThread := this.replicasPerService
if replicasPerThread < 1 {
// unlimited or unknown
replicasPerThread = remaining_replicas
}
</pre></li>
</ul>
<p>The rest LGTM, thanks</p> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=305492015-09-25T12:31:43ZRadhika Chippadaradhika@curoverse.com
<ul></ul><ul>
<li>Reverted my updates to SetServiceRoots since this was wrong</li>
</ul>
<ul>
<li>Renamed keepServices struct to keepService</li>
</ul>
<ul>
<li>Moved replicasPerThread block as suggested.</li>
</ul>
<p>Thanks.</p> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=305862015-09-25T16:16:23ZTom Cleggtom@curii.com
<ul></ul><p>This comment doesn't seem to say anything that isn't obvious from the code:</p>
<pre>
// If there is error getting keep services, get list of keep disks
if err != nil {
if err := this.Arvados.List("keep_disks", nil, &m); err != nil {
</pre>
Suggestions:
<ul>
<li>"Try getting keep_disks in case the API server is older than the change from keep_disks to keep_services." </li>
<li>Maybe we should just delete this fallback (keep_services has been here since May 2014, <a class="issue tracker-6 status-3 priority-4 priority-default closed parent" title="Idea: API server /keep_disks method advertises a keep proxy instead of the real keep disks when queried... (Resolved)" href="https://dev.arvados.org/issues/2776">#2776</a>).</li>
</ul>
<p>The rest LGTM, thanks.</p> Arvados - Bug #7162: [SDKs] GoSDK supports any Keep service type, using proxy replication logic for non-disk typeshttps://dev.arvados.org/issues/7162?journal_id=305892015-09-25T16:35:09ZRadhika Chippadaradhika@curoverse.com
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Applied in changeset arvados|commit:b8ad249763a75f3eb7bea758b88cdc87389639f1.</p>