Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 37948 invoked from network); 24 Apr 2006 10:35:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 Apr 2006 10:35:09 -0000 Received: (qmail 4933 invoked by uid 500); 24 Apr 2006 10:35:03 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 4887 invoked by uid 500); 24 Apr 2006 10:35:02 -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 4877 invoked by uid 99); 24 Apr 2006 10:35:02 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Apr 2006 03:35:02 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of stefan.guggisberg@gmail.com designates 64.233.184.226 as permitted sender) Received: from [64.233.184.226] (HELO wproxy.gmail.com) (64.233.184.226) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Apr 2006 03:35:01 -0700 Received: by wproxy.gmail.com with SMTP id 50so869131wri for ; Mon, 24 Apr 2006 03:34:40 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=QBcLEEFjyOLJNhxDduocXlkbM2TFwfZmZzYLxBi8MRTWUvBD7hzLFajAqA34qbf7AhbN8SirPDo3zMjvelVMyxk+ZqtMsS4l8qTtwlkB0OIwBW2XtnvFgEBV5OkluekR/JEBWMVqxoe6kIeQXss89KL0Nljfj8m7o7OZrZoDsIo= Received: by 10.65.219.6 with SMTP id w6mr1413503qbq; Mon, 24 Apr 2006 03:34:40 -0700 (PDT) Received: by 10.64.47.5 with HTTP; Mon, 24 Apr 2006 03:34:40 -0700 (PDT) Message-ID: <90a8d1c00604240334l4335ab44tc0305d3f29b2d6ba@mail.gmail.com> Date: Mon, 24 Apr 2006 12:34:40 +0200 From: "Stefan Guggisberg" To: dev@jackrabbit.apache.org Subject: Re: Transactions and Recovery In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N On 4/21/06, Lo=EFcP=E9ron wrote: > Hi, > > I intend to use Jackrabbit as a JCA-enabled JCR content repository in a J= 2EE > application. I will have large blobs to store. I need distributed transac= tional > behaviour to ensure consisytency with other systems. I also need recovery > insurance in case of failure. My blobs should be stored on a file system. > > Some searches on this list seem to indicate that Jackrabbit is _not_ > transactional when using a file system base persistence manager. Does Jac= krabbit > delegate transactionality to the database? no, jackrabbit doesn't delegate transactionality to the database. jackrabbit's transaction support requires that changes are stored atomically on the persistence layer. see PersistenceManager#store(ChangeLog= ). the jdbc-based pm's make use of db transactions to guarantee that changes a= re stored atomically. file-system based pm's would need a transactional FileSystem to accomplish this. there's currently no FileSystem implementation in jackrabbit supporti= ng transactions. also note that if you're using a jdbc-based pm that's confgured to store bl= obs in the file system rather than in the database (i.e. externalBlobs=3Dtrue) your setup is not fully 'transactional' for the same reasons as stated abov= e. > > If I need to use a database to benefit from transactional behaviour, may = I use > Derby as a local database and store my large blogs (up to 10Gb) in it? in general, yes. but you may want to do some research if derby supports blobs of 10gb size... you would also have to tweak derby's schema. > > If I need to store my blobs externally to the database due to their size,= will > the file system based blob storage benefit from tansactional behaviour t= oo? no, see above. cheers stefan > > Last but not least, what is required to be sure my repository will always= be > able to recover from a crash, particularly given my file system storage > constraints? > > Thanks to all for your hard work. > > >