From dev-return-11332-apmail-openjpa-dev-archive=openjpa.apache.org@openjpa.apache.org Fri Apr 03 20:37:26 2009 Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 89247 invoked from network); 3 Apr 2009 20:37:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 3 Apr 2009 20:37:20 -0000 Received: (qmail 29992 invoked by uid 500); 3 Apr 2009 20:36:43 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 29264 invoked by uid 500); 3 Apr 2009 20:36:41 -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 28494 invoked by uid 99); 3 Apr 2009 20:33:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Apr 2009 20:33:34 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Apr 2009 20:33:33 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 77C02234C056 for ; Fri, 3 Apr 2009 13:33:13 -0700 (PDT) Message-ID: <1345510074.1238790793489.JavaMail.jira@brutus> Date: Fri, 3 Apr 2009 13:33:13 -0700 (PDT) From: "Pinaki Poddar (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Commented: (OPENJPA-1001) java.lang.IndexOutOfBoundsException when executing attached test case In-Reply-To: <58232832.1238357090510.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OPENJPA-1001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12695563#action_12695563 ] Pinaki Poddar commented on OPENJPA-1001: ---------------------------------------- > The results look identical to what I get when running on trunk which has Pinaki's version of SQL caching. Does that imply the test passed with 'Pinaki's version of SQL caching'? The test passed on trunk for me. *If* this test is failing with previous SQLCaching (not pinaki's version of SQL caching which is better be referred as Prepared Query caching -- because that more accurately reflects what it is) that brings up again the long-standing issue with QuerySQLCache. Though Prepared Query Cache has no resemblance to QuerySQLCache in terms of its design and its solution approach -- I still agreed to retain the same moniker to configure it because I saw it as a replacement for a potentially risky (and costly) mistake that has entered our released service stream. I am aware of the concerns/risks of backporting a rather large change such as Prepared Query Cache in a released service stream. But If Prepared Query Cache were not written by me, I would have voiced my opinion more strongly to backport it as a replacement for existing QuerySQLCache. The risk of regression with PQC changes are minimal both because of its design as well as it has been operation/tested in one way or other in different scenarios. Effectively, In my view (which can be accused of bias in this case), the cost of retaining existing QuerySQLCache in the service stream outweighs the risks of injecting PQC in the stream -- > java.lang.IndexOutOfBoundsException when executing attached test case > --------------------------------------------------------------------- > > Key: OPENJPA-1001 > URL: https://issues.apache.org/jira/browse/OPENJPA-1001 > Project: OpenJPA > Issue Type: Bug > Components: jdbc > Affects Versions: 1.2.1 > Environment: Can reproduce on Max OS X and Linux > Reporter: Richard Rak > Attachments: IncompleteRelationshipChildEntity.java, IncompleteRelationshipParentEntity.java, IncompleteRelationshipSubclass.java, TestIncompleteRelationship.java > > > I am hitting the following exception when executing the given test case: > Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 > at java.util.ArrayList.RangeCheck(ArrayList.java:546) > at java.util.ArrayList.get(ArrayList.java:321) > at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:615) > at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:515) > at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:471) > at org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463) > at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379) > at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:325) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getInitializeStateResult(JDBCStoreManager.java:503) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:322) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:278) > at org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111) > at org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57) > at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:894) > at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:852) > ... 53 more > org.apache.openjpa.persistence.PersistenceException: Index: 1, Size: 1 > at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:875) > at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:774) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.find(JDBCStoreManager.java:951) > at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.load(RelationFieldStrategy.java:609) > at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:819) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:688) > at org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116) > at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78) > at org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2921) > at org.apache.openjpa.kernel.StateManagerImpl.loadField(StateManagerImpl.java:2999) > at org.apache.openjpa.kernel.StateManagerImpl.fetchObjectField(StateManagerImpl.java:2242) > at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.delete(RelationFieldStrategy.java:256) > at org.apache.openjpa.jdbc.meta.FieldMapping.delete(FieldMapping.java:589) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.delete(AbstractUpdateManager.java:238) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.delete(AbstractUpdateManager.java:252) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.populateRowManager(AbstractUpdateManager.java:143) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:85) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:717) > at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1679) > at org.apache.openjpa.kernel.QueryImpl.isInMemory(QueryImpl.java:956) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:796) > at org.apache.openjpa.kernel.QueryImpl.deleteAll(QueryImpl.java:872) > at org.apache.openjpa.kernel.QueryImpl.deleteAll(QueryImpl.java:868) > at org.apache.openjpa.kernel.DelegatingQuery.deleteAll(DelegatingQuery.java:541) > at org.apache.openjpa.persistence.QueryImpl.executeUpdate(QueryImpl.java:331) > at org.apache.openjpa.persistence.test.PersistenceTestCase.clear(PersistenceTestCase.java:232) > at org.apache.openjpa.persistence.test.PersistenceTestCase.clear(PersistenceTestCase.java:205) > at org.apache.openjpa.persistence.test.SingleEMFTestCase.tearDown(SingleEMFTestCase.java:71) > at junit.framework.TestCase.runBare(TestCase.java:130) > ... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.