Aggregator can't subsearch the same child twice to get different depts
Bug #1457698 reported by
Chris Wayne
on 2015-05-22
This bug affects 1 person
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | Canonical System Image |
Critical
|
Thomas Strehl | ||
| | unity-scopes-api (Ubuntu) |
Critical
|
Michi Henning | ||
Bug Description
As of the latest vivid images, NearBy can no longer subsearch children several times, which is used for example to search the coffee dept, as well as the bars dept for the I'm Thirsty section of nearby. The query string is blank in both instances, with only the dept of the child scope changing
Related branches
lp:~michihenning/unity-scopes-api/loop-fix
- Paweł Stołowski: Approve on 2015-05-25
- PS Jenkins bot: Approve (continuous-integration) on 2015-05-23
-
Diff: 123 lines (+26/-10)5 files modifieddebian/libunity-scopes3.symbols (+2/-2)
include/unity/scopes/internal/SearchQueryBaseImpl.h (+4/-2)
src/scopes/internal/ScopeImpl.cpp (+1/-0)
src/scopes/internal/ScopeObject.cpp (+2/-1)
src/scopes/internal/SearchQueryBaseImpl.cpp (+17/-5)
| Michi Henning (michihenning) wrote : | #1 |
| Changed in unity-scopes-api (Ubuntu): | |
| importance: | Undecided → Critical |
| assignee: | nobody → Michi Henning (michihenning) |
| Pat McGowan (pat-mcgowan) wrote : | #2 |
regression
| Changed in canonical-devices-system-image: | |
| importance: | Undecided → Critical |
| milestone: | none → ww22-2015 |
| status: | New → Confirmed |
| assignee: | nobody → Thomas Strehl (strehl-t) |
Michi Henning (michihenning)
on 2015-05-23
| Changed in unity-scopes-api (Ubuntu): | |
| status: | New → In Progress |
| Michi Henning (michihenning) wrote : | #3 |
See the linked branch. The loop detector now triggers only if the query is identical in all respects, that is, query string, department, filter state, user data, and metadata are identical. If any of these differ, the query is forwarded as usual.
| Michi Henning (michihenning) wrote : | #4 |
Chris, I'm pretty sure that this will fix your problem. If not, can you please re-open?
| Changed in unity-scopes-api (Ubuntu): | |
| status: | In Progress → Fix Committed |
| Chris Wayne (cwayne18) wrote : | #5 |
I've tried this out and it seems to fix our issue, thanks!
Michi Henning (michihenning)
on 2015-05-26
| Changed in unity-scopes-api (Ubuntu): | |
| status: | Fix Committed → Fix Released |
Pat McGowan (pat-mcgowan)
on 2015-05-26
| Changed in canonical-devices-system-image: | |
| status: | Confirmed → Fix Released |
To post a comment you must log in.


Discussed this with Chris. Problem is real. Basically, the Nearby Scope fires more than one query at a particular child, but with different department, or potentially different query string and/or filter settings. Doing this is quite legit. The loop detection is too stringent right now because it axes off any query that loops around, regardless of whether the query details are the same or not.
We need to change the loop detection to take all of the query state into account. That way, queries that differ in some detail will still be forwarded to children, but queries that loop around unchanged and therefore indicate a real accidental loop are still axed.