Return-Path: X-Original-To: apmail-jackrabbit-dev-archive@www.apache.org Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EBA9673E3 for ; Thu, 1 Dec 2011 11:00:22 +0000 (UTC) Received: (qmail 88720 invoked by uid 500); 1 Dec 2011 11:00:21 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 88684 invoked by uid 500); 1 Dec 2011 11:00:21 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 88677 invoked by uid 99); 1 Dec 2011 11:00:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Dec 2011 11:00:21 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of fmeschbe@adobe.com designates 64.18.1.39 as permitted sender) Received: from [64.18.1.39] (HELO exprod6og117.obsmtp.com) (64.18.1.39) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Dec 2011 11:00:13 +0000 Received: from outbound-smtp-1.corp.adobe.com ([192.150.11.134]) by exprod6ob117.postini.com ([64.18.5.12]) with SMTP ID DSNKTtdeKJ7ndGYB9clvxi0YpuHmU66UfQlK@postini.com; Thu, 01 Dec 2011 02:59:52 PST Received: from inner-relay-4.eur.adobe.com (inner-relay-4.adobe.com [193.104.215.14]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id pB1Aw68G000367 for ; Thu, 1 Dec 2011 02:58:06 -0800 (PST) Received: from nacas02.corp.adobe.com (nacas02.corp.adobe.com [10.8.189.100]) by inner-relay-4.eur.adobe.com (8.12.10/8.12.9) with ESMTP id pB1AxnRH007486 for ; Thu, 1 Dec 2011 02:59:50 -0800 (PST) Received: from eurcas01.eur.adobe.com (10.128.4.27) by nacas02.corp.adobe.com (10.8.189.100) with Microsoft SMTP Server (TLS) id 8.3.192.1; Thu, 1 Dec 2011 02:59:49 -0800 Received: from eurmbx01.eur.adobe.com ([10.128.4.32]) by eurcas01.eur.adobe.com ([10.128.4.27]) with mapi; Thu, 1 Dec 2011 10:59:47 +0000 From: Felix Meschberger To: "dev@jackrabbit.apache.org" Date: Thu, 1 Dec 2011 10:59:46 +0000 Subject: Re: [jr3 microkernel] Write skew Thread-Topic: [jr3 microkernel] Write skew Thread-Index: AcywGFbGCPRSv+eNSTyUu41uffM7Ww== Message-ID: <98C3F472-B655-48FE-9E03-24EF9D943B10@adobe.com> References: <4ED63BEE.6010904@apache.org> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: de-DE, en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Hi, Am 30.11.2011 um 21:53 schrieb Jukka Zitting: > Hi, >=20 > On Wed, Nov 30, 2011 at 3:21 PM, Michael D=FCrig wro= te: >> 1) Does visible mean immediately visible on next access or visible after >> refresh? The second case would work with snapshot isolation. >=20 > That's up the implementation. >=20 > Section 10.11.1 of JSR 283 [1] explicitly allows changes to become > visible only after a refresh: "[...] items that do not have changes > pending have their state refreshed to reflect the current persisted > state, thus revealing changes made by other sessions." Ok. Thanks for the clarification. I always thought, what Jackrabbit currently does is required ... So we (thi= nking of Sling amongst other things) might have to adapt our event listener= s to do a Session.refresh at the beginning of the onEvent method (in case l= ong lived sessions are used). >=20 > More generally about the write skew -issue; I don't think that's a > common problem in practice. There aren't too many clients that > explicitly interleave operations of multiple sessions within a single > thread. And in a multithreaded setup a client would even with > Jackrabbit 2.x need to use explicit synchronization to enforce more > complex content constraints. Sure. I think the main problem with long lived sessions I know of (in Sling= based applications) is with Observation Listeners which are quite isolated= and can be "fixed" easily -- there just has to be awareness. Regards Felix