Return-Path: X-Original-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4C19BD678 for ; Wed, 14 Nov 2012 10:19:08 +0000 (UTC) Received: (qmail 88337 invoked by uid 500); 14 Nov 2012 10:19:08 -0000 Delivered-To: apmail-jackrabbit-oak-dev-archive@jackrabbit.apache.org Received: (qmail 88282 invoked by uid 500); 14 Nov 2012 10:19:07 -0000 Mailing-List: contact oak-dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-dev@jackrabbit.apache.org Delivered-To: mailing list oak-dev@jackrabbit.apache.org Received: (qmail 88230 invoked by uid 99); 14 Nov 2012 10:19:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Nov 2012 10:19:04 +0000 X-ASF-Spam-Status: No, hits=-1.6 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [64.18.1.187] (HELO exprod6og104.obsmtp.com) (64.18.1.187) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Nov 2012 10:18:57 +0000 Received: from outbound-smtp-2.corp.adobe.com ([193.104.215.16]) by exprod6ob104.postini.com ([64.18.5.12]) with SMTP ID DSNKUKNv+35HDJguxH6IV8ldKj7+yrw+5CtW@postini.com; Wed, 14 Nov 2012 02:18:37 PST Received: from inner-relay-4.eur.adobe.com (inner-relay-4b [10.128.4.237]) by outbound-smtp-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id qAEAIYHP015153 for ; Wed, 14 Nov 2012 02:18:34 -0800 (PST) Received: from nahub01.corp.adobe.com (nahub01.corp.adobe.com [10.8.189.97]) by inner-relay-4.eur.adobe.com (8.12.10/8.12.9) with ESMTP id qAEAIJXN027167 for ; Wed, 14 Nov 2012 02:18:34 -0800 (PST) Received: from eurhub01.eur.adobe.com (10.128.4.30) by nahub01.corp.adobe.com (10.8.189.97) with Microsoft SMTP Server (TLS) id 8.3.279.1; Wed, 14 Nov 2012 02:18:19 -0800 Received: from susi.local (10.136.139.70) by eurhub01.eur.adobe.com (10.128.4.111) with Microsoft SMTP Server id 8.3.279.1; Wed, 14 Nov 2012 10:18:15 +0000 Message-ID: <50A36FE7.9020701@apache.org> Date: Wed, 14 Nov 2012 10:18:15 +0000 From: =?ISO-8859-1?Q?Michael_D=FCrig?= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 MIME-Version: 1.0 To: "oak-dev@jackrabbit.apache.org" Subject: [NEWS] Oak news (6th edition) Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Hi, Welcome to the 6th edition of the informal news on what's going on in Oak. - Last week Jukka held a small workshop on Oak at the ApacheCon EU. There was some work on integrating the MongoDB based Microkernel with oak-run and enabling remote JCR access through DavEx. Although there was no formal presentation on Oak, a few people were asking about it and Jukka gave quick 5 min intros. - Many new features, improvements and bug fixes have been contributed to the MongoDB based Microkernel through OAK-424. See also the respective pull request on GitHub to get a better overview: https://github.com/apache/jackrabbit-oak/pull/6 - In relation to the various Microkernel implementations we now have, we need to figure out how to best expose them for development, testing and continuous integration. See also OAK-434: Setup build profiles to run against either of the Microkernel implementations. - The progress in the area of the Microkernel also sparked new discussions on how garbage collection could work for the data store. Currently there seem to be mainly two ideas worth further exploration: keep an index of references to binaries (kind of reference counting) and generational garbage collection. See OAK-377 for the issue and http://markmail.org/message/egmcpupjbbljno4j for the discussion. - In Oak core some state tracking functionality has been pushed down from the Tree implementation to the NodeBuilder implementation. This greatly improves read/write performance but also has an impact on transient move operations, which are not tracked the same any more. See OAK-391 and http://markmail.org/message/b6dcyae362akyogd for the discussion and sample code demonstration the problem. Relevant issues: � OAK-413: TreeLocation.getStatus() cost increases as more content is read below this location � OAK-422: Replace PurgeListener in TreeImpl with NodeBuilder.reset() � OAK-417: Refactor/reimplement TreeImpl.getStatus and TreeImpl.getPropertyStatus to take advantage of the underlying NodeBuilder � OAK-418: Reduce/avoid re-resolving the underlying tree instances on every access in Item/Property/NodeDelegate - The Oak JCR bindings saw many fixes, improvements and new features. Most notably we now have initial support for XML imports (OAK-127: Support for XML imports) and validation for node type management (OAK-411: Validator for node type management). Further improvements include: � OAK-395 : Inconsistency in Node#setProperty in case of null value � OAK-408: Add Definition for the root node � OAK-405: Node/Property getDefinition() returns first residual definition instead of matching named definition - Since Apache Lucene does not provide OSGi bundles of their artefact, we decided to embed the Lucene dependency with Oak for the time being. The most transparent way to do so was through its own component "oak-lucene". See OAK-438: Provide the lucene index as an osgi bundle. Michael