Hi,

Last week some of us met for another small Oakathon in Basel. Below is a list of topics that where touched and worked on and the related Jira issues. Any additional input is appreciated.

- Observation (OAK-144):
* Observation events don't report every single event but rather a consolidated view at a given time (basically a a diff). Rational: performance on heavy write systems, (order of) individual events not clear/different for different cluster nodes in clustered setup. * Implement user data support on a best effort basis. In a clustered setup this can't be supported. See also http://markmail.org/message/osxupy3twc3pyild * oak-core should provide lightweight mechanism for clients to discover changes. oak-jcr can use this to implement JCR observation on top and trade off performance implications as needed.

- Internal value handling
* To reduce GC overhead we should try to keep the number of small objects down
  * Possibly merge CoreValue into PropertyState
  * Use flyweight instances for common values/properties

- HTTP bindings (OAK-103, OAK-104)
* Provide extension points for Sling to hook into. (See also the discussion on @oak-dev: http://markmail.org/message/tzpbxf5zduybezya.)

- Full text index (OAK-154)
* Added an initial Lucene index stored under /jcr:system/oak:lucene in the repository (final location(s) TBD) * Index updates in a CommitEditor hook, so the index is always up to date with latest content changes + TODO: How to postpone time-consuming indexing operations like full text extraction
    + TODO: How to merge conflicts in the search index?
* Basic QueryIndexProvider allows the existing query engine to leverage the Lucene index
    + TODO: Integrate with the rest of the build

- Merge/rebase logic handling (OAK-157)
* The Lucene index work encountered some issues with the way we handle the merge/rebase operations
  * Need to look deeper into that over the next few weeks

Michael

Reply via email to