Homec4science

Begin improving modularity of IndexEngine, add locks

Authored by epriestley <git@epriestley.com> on Dec 20 2015, 17:54.

Description

Begin improving modularity of IndexEngine, add locks

Summary:
Ref T9890. Ref T9979. Several adjacent goals:

  • The SearchEngine vs ApplicationSearchEngine thing is really confusing. There are also a bunch of confusing class names and class relationships within the fulltext indexing. I want to rename these classes to be more standard (IndexEngine, IndexEngineExtension, etc). Rename SearchIndexer to IndexEngine. A future change will rename SearchEngine.
  • Add the index locks described in T9890.
  • Structure things a little more normally so future diffs can do the "EngineExtension" thing more cleanly.

Test Plan:
Indexing:

  • Renamed a task to have a unique word in the title.
  • Ran bin/search index Txxx.
  • Searched for unique word.
  • Found task.

Locking:

  • Added a sleep(10) after the lock() call.
  • Ran bin/search index Txxx in two windows.
  • Saw first one lock, sleep 10 seconds, index.
  • Saw second one give up temporarily after failing to grab the lock.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T9890, T9979

Differential Revision: https://secure.phabricator.com/D14834

Details

Committed
epriestley <git@epriestley.com>Dec 22 2015, 02:04
Pushed
aubortJan 31 2017, 17:16
Parents
rPH4bba3fd4c147: Fully modularize DestructionEngine
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH2447d9bdf270: Begin improving modularity of IndexEngine, add locks (authored by epriestley <git@epriestley.com>).Dec 22 2015, 02:04