Closed Bug 867289 Opened 12 years ago Closed 12 years ago

Reindex management command doesn't chain and parallelize tasks properly

Categories

(Marketplace Graveyard :: Search, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED FIXED
2013-06-13

People

(Reporter: robhudson, Assigned: ashort)

Details

(Whiteboard: [qa-]p=1)

I've seen the side effect a couple times but never fully understood why until I wrote a separate "reindex_mkt" management command recently for the upcoming work to separate AMO and MKT search indexes. The problem is we're chaining tasks with a TaskSet in the middle like: task1 -> task2 -> task3(n) -> task4 -> task5. Where task3(n) is a TaskSet of many indexing tasks and tasks 4 and 5 should only be run once all the task3(n)s are done. But when adding debug logging I see tasks 4 and 5 happening before the task3(n)s. The result is that the new index is aliased before anything is indexed into it causing search results to return empty. The reason we moved to aliasing was to avoid breaking search while a reindexing job was happening. I've solved it by not using a taskset in the middle and just use a straight line for indexing. This isn't ideal b/c we could parallelize the indexing jobs but our current version of celery doesn't support chords, which solves this problem. Once bug 867288 lands we should fix this and also remove marketplace specific indexing from the AMO index.
Whiteboard: p=1
Summary: Reindex management command doesn't chain tasks properly → Reindex management command doesn't chain and parallelize tasks properly
Assignee: nobody → ashort
Just to be clear, the `reindex_mkt` command works fine. It could be optimized a bit but I'd consider that low priority. The `reindex` command, however, does need to be fixed.
Priority: -- → P3
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2013-06-13
Please add STR here or mark it with [qa-] if no QA is needed.
Whiteboard: p=1 → [qa-]p=1
You need to log in before you can comment on or make changes to this bug.