Hi Rafał,
Rafał Kwiecień wrote:
Ok.So, how long it can take? 2 or 3 months? half year ?
It is important to me to know when this feature will be available.
jackrabbit is an open source project and does not have a fixed road map nor
detailed release plan. if such a feature is important to you, you are very
welcome to participate.
afaics the following steps are required to be able to support concurrent writes:
- implement a ISMLocking that supports multiple write locks at a time
- extend an existing or create a new persistence manager to support concurrent
writes
- make sure the jackrabbit core is able to handle concurrent writes. e.g. check
if caches are synchronized properly.
- optionally: enhance the search handler implementation to support concurrent
writes. (this is not a hard requirement because when jackrabbit indexes content
the write lock had been downgraded to a read lock)
I use BundlePersistenceManager. Methods in that persistence manager are
synchronized. So, there is not possible to read anything during write.
can you please file a jira issue about this and if possible attach a patch?
thanks.
BTW. If I use FineGrainedISMLocking, sometimes I see a warning in logs:
WARN [.core.query.lucene.SearchIndex] Exception while creating document for
node: aad7aa6a-5baf-4a33-b88d-f39f713aad1a: javax.jcr.RepositoryException:
Missing child node entry for node with id:
aad7aa6a-5baf-4a33-b88d-f39f713aad1a
Does it mean that some node has not been indexed ?
When I use DefaultISMLocking, I don't get warnings.
please note that FineGrainedISMLocking is work in progress. there are some
implications when using this class that need to be resolved first before it can
be used. e.g. access to caches are not properly synchronized when using
FineGrainedISMLocking.
regards
marcel