Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 60346 invoked from network); 14 Apr 2010 18:41:10 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 14 Apr 2010 18:41:10 -0000 Received: (qmail 53218 invoked by uid 500); 14 Apr 2010 18:41:10 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 53190 invoked by uid 500); 14 Apr 2010 18:41:10 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 53179 invoked by uid 99); 14 Apr 2010 18:41:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Apr 2010 18:41:10 +0000 X-ASF-Spam-Status: No, hits=-1288.3 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Apr 2010 18:41:09 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o3EIemgd008938 for ; Wed, 14 Apr 2010 14:40:48 -0400 (EDT) Message-ID: <27935865.121601271270448396.JavaMail.jira@thor> Date: Wed, 14 Apr 2010 14:40:48 -0400 (EDT) From: "Rick Curtis (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Updated: (OPENJPA-1630) NPE in MetaDataRepository when preloading is enabled under heavy stress. In-Reply-To: <335450.66801271187290434.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/OPENJPA-1630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rick Curtis updated OPENJPA-1630: --------------------------------- Fix Version/s: 2.1.0 Committed revision 934103 to trunk. > NPE in MetaDataRepository when preloading is enabled under heavy stress. > ------------------------------------------------------------------------ > > Key: OPENJPA-1630 > URL: https://issues.apache.org/jira/browse/OPENJPA-1630 > Project: OpenJPA > Issue Type: Bug > Components: kernel > Affects Versions: 1.2.2, 2.0.0-beta3, 2.0.0, 2.0.1, 2.1.0 > Reporter: Rick Curtis > Assignee: Rick Curtis > Fix For: 2.1.0 > > Attachments: OPENJPA-1630.patch > > > A timing window exists in the MetaDataRepository where the following[1] NPE can be encountered. It is incorrect to assume that calling processRegisteredClasses at the end of preload would process all registered classes. As it turns out, that call does process all registered classes that this instance of the MDR cares about. The problem comes in when after the MDR is preloaded, Entities that belong to a different PU are registered with the PCRegistry and they are added to the _registered list. > [1] Caused by: java.lang.NullPointerException > at org.apache.openjpa.meta.MetaDataRepository.processRegisteredClasses(MetaDataRepository.java:1622) > at org.apache.openjpa.meta.ClassMetaData.getPCSubclasses(ClassMetaData.java:364) > at org.apache.openjpa.meta.ClassMetaData.getPCSubclassMetaDatas(ClassMetaData.java:381) > at org.apache.openjpa.meta.ClassMetaData.getMappedPCSubclassMetaDatas(ClassMetaData.java:403) > at org.apache.openjpa.jdbc.meta.ClassMapping.getMappedPCSubclassMappings(ClassMapping.java:628) > at org.apache.openjpa.jdbc.meta.ClassMapping.getIndependentAssignableMappings(ClassMapping.java:667) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:380) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:342) > at com.ibm.ws.persistence.jdbc.kernel.WsJpaJDBCStoreManager.initialize(WsJpaJDBCStoreManager.java:147) > at org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112) > at org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57) > at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1005) > at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:963) > ... 46 more -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira