From jena-dev-return-1109-apmail-incubator-jena-dev-archive=incubator.apache.org@incubator.apache.org Mon Aug 8 14:38:15 2011 Return-Path: X-Original-To: apmail-incubator-jena-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-jena-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 1200C8A98 for ; Mon, 8 Aug 2011 14:38:15 +0000 (UTC) Received: (qmail 6495 invoked by uid 500); 8 Aug 2011 14:38:14 -0000 Delivered-To: apmail-incubator-jena-dev-archive@incubator.apache.org Received: (qmail 6468 invoked by uid 500); 8 Aug 2011 14:38:14 -0000 Mailing-List: contact jena-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jena-dev@incubator.apache.org Delivered-To: mailing list jena-dev@incubator.apache.org Received: (qmail 6460 invoked by uid 99); 8 Aug 2011 14:38:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Aug 2011 14:38:14 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of castagna.lists@googlemail.com designates 74.125.82.41 as permitted sender) Received: from [74.125.82.41] (HELO mail-ww0-f41.google.com) (74.125.82.41) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Aug 2011 14:38:07 +0000 Received: by wwj26 with SMTP id 26so2141589wwj.0 for ; Mon, 08 Aug 2011 07:37:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=wo9EW4ZvwD88Whqvn28n8QZ4lnMZcyrNMPQE7e7ya9M=; b=bz9dUq490/qBH1oPu8nyqfZWRAhzAY9IxXxqr8EnzJrLazxsbOI+fSvffG4y1DqGul OFzgnrcsxWgv48/NGwxwliym+tC5p+zfRQsoI89JXwf01mIUNJZny7/vWEWglN7Wj5G4 6YA+tv6fVJ+ZVOMOxypWFDz2N9jbZlnzZYucM= Received: by 10.227.157.130 with SMTP id b2mr4693954wbx.4.1312814266962; Mon, 08 Aug 2011 07:37:46 -0700 (PDT) Received: from [192.168.2.3] (80-42-193-146.dynamic.dsl.as9105.com [80.42.193.146]) by mx.google.com with ESMTPS id fm9sm1861427wbb.61.2011.08.08.07.37.45 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 08 Aug 2011 07:37:45 -0700 (PDT) Message-ID: <4E3FF4B7.2080805@googlemail.com> Date: Mon, 08 Aug 2011 15:37:43 +0100 From: Paolo Castagna User-Agent: Thunderbird 2.0.0.24 (X11/20101027) MIME-Version: 1.0 To: jena-dev@incubator.apache.org Subject: Re: [jira] [Commented] (JENA-86) NPE in BlockMgrCache in direct mode References: <1479402757.16652.1312813827303.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1479402757.16652.1312813827303.JavaMail.tomcat@hel.zones.apache.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Andy Seaborne (JIRA) wrote: > [ https://issues.apache.org/jira/browse/JENA-86?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13080970#comment-13080970 ] > > Andy Seaborne commented on JENA-86: > ----------------------------------- > > Only version numbers and timestamps (which tdb.tdbquery -version should print) at the moment. > > Or "svn update ; mvn clean install" > > I'd like to be doing nightly builds and we could turn this on in Apache's Jenkins, but that isn't too reliable and we would be eating disk space if left to build every commit (as it is currently). It can be "archive last" but whether "last" means "last successful" or "last attempt", I don't know. Not sure where they go either! It is possible to configure Nexus (i.e. the Maven repository manager) to automatically delete the oldest SNAPSHOTs and keep the last N. However, I do not know if this option is used @ Apache. > It's two slightly different CI scenarios: build-to-test and build-to-create-snapshot. I find it useful to commit -> have Jenkins to build and publish new SNAPSHOTs -> tests run on all modules which depend on that SNAPSHOT. Build to create a SNAPSHOT can be slower but if it is done automatically or nightly by Jenkins it's not a big problem. Paolo > > At the moment, (2011/08/08) we've lost the maven repo-dev in the unrelated AWS problems. > > > > >> NPE in BlockMgrCache in direct mode >> ----------------------------------- >> >> Key: JENA-86 >> URL: https://issues.apache.org/jira/browse/JENA-86 >> Project: Jena >> Issue Type: Bug >> Components: TDB >> Reporter: Simon Helsen >> Assignee: Andy Seaborne >> Priority: Critical >> >> There seems to be a problem with the implementation of getWrite in BlockMgrCache. Whenever there is a write and read cache miss, the code does not actually delegate to the wrapped BlockMgr. In direct mode, this would have to be the file system. The resulting exception is >> java.lang.NullPointerException >> at com.hp.hpl.jena.tdb.base.page.PageBlockMgr.getWrite(PageBlockMgr.java:50) >> at com.hp.hpl.jena.tdb.index.bplustree.BPTreeNode.getMgrWrite(BPTreeNode.java:162) >> at com.hp.hpl.jena.tdb.index.bplustree.BPTreeNode.get(BPTreeNode.java:145) >> at com.hp.hpl.jena.tdb.index.bplustree.BPTreeNode.delete(BPTreeNode.java:227) >> at com.hp.hpl.jena.tdb.index.bplustree.BPlusTree.deleteAndReturnOld(BPlusTree.java:324) >> at com.hp.hpl.jena.tdb.index.bplustree.BPlusTree.delete(BPlusTree.java:318) >> at com.hp.hpl.jena.tdb.index.TupleIndexRecord.performDelete(TupleIndexRecord.java:55) >> at com.hp.hpl.jena.tdb.index.TupleIndexBase.delete(TupleIndexBase.java:61) >> at com.hp.hpl.jena.tdb.index.TupleTable.delete(TupleTable.java:108) >> at com.hp.hpl.jena.tdb.graph.BulkUpdateHandlerTDB.removeWorker(BulkUpdateHandlerTDB.java:136) >> at com.hp.hpl.jena.tdb.graph.BulkUpdateHandlerTDB.removeAll(BulkUpdateHandlerTDB.java:90) >> at com.hp.hpl.jena.rdf.model.impl.ModelCom.removeAll(ModelCom.java:315) >> I think the fix is to change the following code in the getWrite method of BlockMgrCache (starting at line 158): >> // Did not find. >> cacheMisses++ ; >> log("Miss/w: %d", id) ; >> if ( writeCache != null ) >> writeCache.put(id, blk) ; >> return blk ; >> into >> // Did not find. >> cacheMisses++ ; >> log("Miss/w: %d", id) ; >> blk = super.getWrite(id); >> if ( writeCache != null ) >> writeCache.put(id, blk) ; >> return blk ; > > -- > This message is automatically generated by JIRA. > For more information on JIRA, see: http://www.atlassian.com/software/jira > >