Bug #3704

[Workbench] Server-side search fails choosing pipeline inputs with search terms

Added by Brett Smith about 7 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Brett Smith
Category:
Workbench
Target version:
Start date:
08/26/2014
Due date:
% Done:

100%

Estimated time:
(Total: 4.00 h)
Story points:
0.5

Description

Part one (fixed): In current master Workbench, when I try to select inputs for a pipeline that has search terms for its inputs, the search fails. Workbench console shows the following—the filters parameter seems malformed.

Started GET "/collections/choose?partial=true&filters=%5B%5B%22owner_uuid%22%2C%22%3D%22%2C%224xphq-j7d0g-7qvnywohs3wbwi0%22%5D%5Dany%2Cilike%2C%25Tutorial+chromosome+19+reference%25" for ::1 at 2014-08-26 16:41:36 -0400
Processing by CollectionsController#choose as JSON
  Parameters: {"partial"=>"true", "filters"=>"[[\"owner_uuid\",\"=\",\"4xphq-j7d0g-7qvnywohs3wbwi0\"]]any,ilike,%Tutorial chromosome 19 reference%"}

Part two (open): After Tom's updates, the filters are well-formed again, but the steps to find a Collection from the tutorial project fail, because they search for a Collection with two different owner_uuids.

Started GET "/collections/choose?partial=true&filters=%5B%5B%22owner_uuid%22%2C%22%3D%22%2C%22qr1hi-j7d0g-keafgkrcj1uoexf%22%5D%2C%5B%22any%22%2C%22ilike%22%2C%22%25Tutorial+chromosome+19+reference%25%22%5D%2C%5B%22owner_uuid%22%2C%22%3D%22%2C%22qr1hi-j7d0g-u7zg1qdaowykd8d%22%5D%5D&project_uuid=qr1hi-j7d0g-u7zg1qdaowykd8d" for ::1 at 2014-09-02 09:16:54 -0400
Processing by CollectionsController#choose as JSON
  Parameters: {"partial"=>"true", "filters"=>"[[\"owner_uuid\",\"=\",\"qr1hi-j7d0g-keafgkrcj1uoexf\"],[\"any\",\"ilike\",\"%Tutorial chromosome 19 reference%\"],[\"owner_uuid\",\"=\",\"qr1hi-j7d0g-u7zg1qdaowykd8d\"]]", "project_uuid"=>"qr1hi-j7d0g-u7zg1qdaowykd8d"}

Subtasks

Task #3773: Reproduce and diagnoseResolvedTom Clegg

Task #3778: Add a test caseResolved

Task #3777: review and merge 3704-broken-filters-paramResolvedBrett Smith

Associated revisions

Revision e74d65c8
Added by Brett Smith about 7 years ago

Merge branch '3704-broken-filters-param'

Unfortunately, this does not completely fix the bug, but at least it's
an improvement. See refs #3704 for more discussion. Closes #3777.

Revision 812f2714 (diff)
Added by Brett Smith about 7 years ago

3704: Treat project filters consistently in Workbench chooser.

Before this, a chooser that was loaded on a specific project would
return empty results if the user selected a different project. This
is because it would search for items with two different owner_uuids,
both the project selected at load time, and the project the user
selected later. This patch fixes that by separating the project
filter from other filters, and preseeding it in the same place where
it's updated by the project selection AJAX. Closes #3704, #3778.

History

#1 Updated by Brett Smith about 7 years ago

  • Category set to Workbench

#2 Updated by Tom Clegg about 7 years ago

  • Target version set to 2014-08-27 Sprint

#3 Updated by Tom Clegg about 7 years ago

  • Status changed from New to In Progress

#4 Updated by Tom Clegg about 7 years ago

  • Target version changed from 2014-08-27 Sprint to 2014-09-17 sprint

#5 Updated by Ward Vandewege about 7 years ago

  • Story points set to 0.5

#6 Updated by Tom Clegg about 7 years ago

  • Assigned To set to Tom Clegg

#7 Updated by Brett Smith about 7 years ago

  • Assigned To deleted (Tom Clegg)

Tom's branch improves the situation, but still doesn't restore the original search behavior. Now when I go through our tutorial steps to select an input for the tutorial GATK3 pipeline, when I select "Arvados Tutorial" from the project pulldown, this search happens:

Started GET "/collections/choose?partial=true&filters=%5B%5B%22owner_uuid%22%2C%22%3D%22%2C%22qr1hi-j7d0g-keafgkrcj1uoexf%22%5D%2C%5B%22any%22%2C%22ilike%22%2C%22%25Tutorial+chromosome+19+reference%25%22%5D%2C%5B%22owner_uuid%22%2C%22%3D%22%2C%22qr1hi-j7d0g-u7zg1qdaowykd8d%22%5D%5D&project_uuid=qr1hi-j7d0g-u7zg1qdaowykd8d" for ::1 at 2014-09-02 09:16:54 -0400
Processing by CollectionsController#choose as JSON
  Parameters: {"partial"=>"true", "filters"=>"[[\"owner_uuid\",\"=\",\"qr1hi-j7d0g-keafgkrcj1uoexf\"],[\"any\",\"ilike\",\"%Tutorial chromosome 19 reference%\"],[\"owner_uuid\",\"=\",\"qr1hi-j7d0g-u7zg1qdaowykd8d\"]]", "project_uuid"=>"qr1hi-j7d0g-u7zg1qdaowykd8d"}

The search succeeds, but returns no results, because it's looking for something with two different owner_uuids. I think the choose filters need to be made smarter about updating existing search filters rather than simply appending new ones.

#8 Updated by Brett Smith about 7 years ago

  • Description updated (diff)

#9 Updated by Brett Smith about 7 years ago

  • Assigned To set to Brett Smith

#10 Updated by Brett Smith about 7 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 50 to 100

Applied in changeset arvados|commit:812f2714c2908e5b427a8e37032ddcd46fb08297.

Also available in: Atom PDF