Page MenuHomePhabricator

Begin improving modularity of IndexEngine, add locks
ClosedPublic

Authored by epriestley on Dec 21 2015, 1:50 PM.
Tags
None
Referenced Files
F14357814: D14834.diff
Fri, Dec 20, 6:56 AM
Unknown Object (File)
Fri, Dec 13, 4:44 PM
Unknown Object (File)
Mon, Dec 9, 8:36 AM
Unknown Object (File)
Nov 18 2024, 4:56 PM
Unknown Object (File)
Nov 1 2024, 2:42 AM
Unknown Object (File)
Oct 30 2024, 12:52 PM
Unknown Object (File)
Oct 21 2024, 1:10 AM
Unknown Object (File)
Oct 18 2024, 4:42 AM
Subscribers
None

Details

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.

Diff Detail

Repository
rP Phabricator
Branch
index1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 9681
Build 11605: Run Core Tests
Build 11604: arc lint + arc unit

Event Timeline

chad edited edge metadata.
This revision is now accepted and ready to land.Dec 21 2015, 3:41 PM
This revision was automatically updated to reflect the committed changes.