You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2017/04/16 10:28:54 UTC

[16/16] lucy git commit: Merge branch 'improve-locking'

Merge branch 'improve-locking'

Fixes LUCY-323.

- Major rewrite of FilePurger, making it do less work.
- Eliminate global deletion lock, making PolyReader and FilePurger
  never wait for a lock.
- Redesign Lock API in preparation for native locks.
- Remove LockFactory.
- Fix locking bug with non-default merge lock timeout.
- Fix locking bug with concurrent BackgroundMergers.
- Port some tests to C.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/d7feb997
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/d7feb997
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/d7feb997

Branch: refs/heads/master
Commit: d7feb997003ae1fc84a348e8584ea97b69b02d95
Parents: 7a64a28 a3cf33f
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sun Apr 16 12:15:01 2017 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sun Apr 16 12:15:01 2017 +0200

----------------------------------------------------------------------
 core/Lucy/Docs/Cookbook/FastUpdates.md        |   2 +-
 core/Lucy/Docs/FileLocking.md                 |   5 +-
 core/Lucy/Index/BackgroundMerger.c            |  34 +-
 core/Lucy/Index/FilePurger.c                  | 328 ++++++++-----------
 core/Lucy/Index/FilePurger.cfh                |  19 +-
 core/Lucy/Index/IndexManager.c                |  88 +----
 core/Lucy/Index/IndexManager.cfh              |  42 +--
 core/Lucy/Index/IndexReader.c                 |  16 +-
 core/Lucy/Index/IndexReader.cfh               |   3 +-
 core/Lucy/Index/Indexer.c                     |  61 ++--
 core/Lucy/Index/PolyReader.c                  | 124 +++----
 core/Lucy/Store/Lock.c                        | 258 ++-------------
 core/Lucy/Store/Lock.cfh                      | 117 ++-----
 core/Lucy/Store/LockFactory.c                 |  66 ----
 core/Lucy/Store/LockFactory.cfh               |  80 -----
 core/Lucy/Store/LockFileLock.c                | 363 +++++++++++++++++++++
 core/Lucy/Store/LockFileLock.cfh              |  49 +++
 core/Lucy/Store/SharedLock.c                  | 173 ----------
 core/Lucy/Store/SharedLock.cfh                |  77 -----
 go/build.go                                   |   7 +-
 go/lucy/index_test.go                         |  32 +-
 go/lucy/store.go                              |  35 +-
 go/lucy/store_test.go                         |  77 ++---
 perl/buildlib/Lucy/Build/Binding/Store.pm     | 100 ------
 perl/lib/Lucy/Store/Lock.pm                   |  25 --
 perl/lib/Lucy/Store/LockFactory.pm            |  25 --
 perl/t/105-folder.t                           |  29 +-
 perl/t/106-locking.t                          |  89 -----
 perl/t/109-read_locking.t                     |  53 ++-
 perl/t/110-shared_lock.t                      |  90 -----
 perl/t/111-index_manager.t                    |  32 +-
 perl/t/core/106-lf_lock.t                     |  23 ++
 perl/t/core/233-background_merger.t           |  23 ++
 test/Lucy/Test.c                              |   4 +
 test/Lucy/Test/Index/NoMergeManager.c         |  42 +++
 test/Lucy/Test/Index/NoMergeManager.cfh       |  30 ++
 test/Lucy/Test/Index/TestBackgroundMerger.c   | 208 ++++++++++++
 test/Lucy/Test/Index/TestBackgroundMerger.cfh |  29 ++
 test/Lucy/Test/Index/TestIndexManager.c       |   2 +-
 test/Lucy/Test/Index/TestSortWriter.c         |  28 +-
 test/Lucy/Test/Index/TestSortWriter.cfh       |  15 -
 test/Lucy/Test/Store/TestLock.c               | 296 +++++++++++++++++
 test/Lucy/Test/Store/TestLock.cfh             |  29 ++
 test/Lucy/Test/TestUtils.c                    |  17 +-
 44 files changed, 1531 insertions(+), 1714 deletions(-)
----------------------------------------------------------------------