couchdb:import-nouveau-singlelucene

Last commit made on 2023-04-06
Get this branch:
git clone -b import-nouveau-singlelucene https://git.launchpad.net/couchdb

Branch merges

Branch information

Name:
import-nouveau-singlelucene
Repository:
lp:couchdb

Recent commits

884978e... by Robert Newson <email address hidden>

they're called hits

577245c... by Robert Newson <email address hidden>

unused import

eed30eb... by Robert Newson <email address hidden>

flatten to one project, one lucene

d0f09e6... by Robert Newson <email address hidden>

trail ws

00c584b... by Robert Newson <email address hidden>

remember to add the clouseau index importer

185ec6d... by Robert Newson <email address hidden>

add retry loop and basic metrics

1fc8949... by Robert Newson <email address hidden>

conc test

d1bb343... by Robert Newson <email address hidden>

note the deployment options

674b9dc... by Robert Newson <email address hidden>

remember to add retry loop and metrics

3c9e4d8... by Robert Newson <email address hidden>

Reinstate Caffeine

Finally cracked this.

Caffeine eviction is atomic, but I need to ensure that we don't close
the IndexWriter if anyone else is using it. So I borrow a trick from
IndexWriter. each Index has a semaphore, every user acquires one
permit and releases it when done. The close method acquires _all_
permits, sets a closed flag and then closes the index. Each user tries
to acquire a permit but, if that fails, they try again after a new
cache.get(), in case the index entry has been replaced.