Project

General

Profile

Actions

Bug #5096

closed

[Workbench] Avoid passing manifest_text around the network too much when updating and merging large collections.

Added by Tom Clegg about 9 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Radhika Chippada
Category:
Workbench
Target version:
Story points:
0.5

Description

Examples:
  • Workbench should not send manifest_text to API in an update() request when only name/description is being changed (this should be easy enough to achieve in Workbench)
  • Cases where the content is being modified probably depend on #5104
When closing this,
  1. Follow up all related bugs to find out whether this fixes them.
  2. Close the ones that are fixed.
  3. Move the rest to bug triage, to find out what's still wrong.

Subtasks 2 (0 open2 closed)

Task #5218: [Workbench] Do not send manifest_text when only name or description is being updated.ResolvedRadhika Chippada02/14/2015Actions
Task #5219: Review branch: 5096-wb-collection-name-or-desc-updateResolvedRadhika Chippada02/14/2015Actions

Related issues

Related to Arvados - Bug #4943: [Workbench] [Performance] Combining big collections should start returning a response faster (currently you can get a 502 proxy error even if the collection still combines)ClosedActions
Related to Arvados - Bug #4953: [Workbench] [dup] Time out error for renaming a collection with a lot (300+?) filesResolved01/09/2015Actions
Related to Arvados - Feature #5104: [SDKs] Add Ruby SDK methods for manipulating collection contents (rename, delete, copy file from another collection)ResolvedBrett Smith03/08/2015Actions
Actions #1

Updated by Tom Clegg about 9 years ago

  • Description updated (diff)
  • Category set to Workbench
Actions #2

Updated by Tom Clegg about 9 years ago

  • Description updated (diff)
  • Story points changed from 1.0 to 0.5
Actions #3

Updated by Radhika Chippada about 9 years ago

  • Assigned To set to Radhika Chippada
Actions #4

Updated by Radhika Chippada about 9 years ago

  • Status changed from New to In Progress
Actions #5

Updated by Brett Smith about 9 years ago

Reviewing 23c1bc6

When we're doing small updates, the new update method skips a lot of the encoding work in the ApplicationController's implementation, and then repeats a lot of the rendering code. I think we could help future-proof this by repeating as little as possible, and calling super as early as possible. I think you could do it like this:

 def update
    @updates ||= params[@object.resource_param_name.to_sym]
    if @updates && (@updates.keys - ["name", "description"]).empty?
      # exclude manifest_text since only name or description is being updated
      @object.manifest_text = nil
    end
    super
  end

Let me know what you think of that. Thanks.

Actions #6

Updated by Radhika Chippada about 9 years ago

Brett, thanks for the suggestion. This is much more efficient and accomplishes the goal more effectively. I made this update.

Actions #7

Updated by Ward Vandewege about 9 years ago

  • Target version changed from 2015-02-18 sprint to 2015-03-11 sprint
Actions #8

Updated by Ward Vandewege about 9 years ago

  • Target version changed from 2015-03-11 sprint to 2015-04-01 sprint
Actions #9

Updated by Ward Vandewege about 9 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF