Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 66281 invoked from network); 17 May 2010 14:26:42 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 17 May 2010 14:26:42 -0000 Received: (qmail 68738 invoked by uid 500); 17 May 2010 14:26:41 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 68710 invoked by uid 500); 17 May 2010 14:26: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 68702 invoked by uid 99); 17 May 2010 14:26:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 May 2010 14:26:41 +0000 X-ASF-Spam-Status: No, hits=4.0 required=10.0 tests=AWL,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of webautomator2@gmail.com designates 74.125.82.46 as permitted sender) Received: from [74.125.82.46] (HELO mail-ww0-f46.google.com) (74.125.82.46) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 May 2010 14:26:35 +0000 Received: by wwc33 with SMTP id 33so170365wwc.33 for ; Mon, 17 May 2010 07:26:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=xZVAM5S92hzRTRZVFQyV0EYKC1QzG7YkzdhF1H/xkeA=; b=hKUS18txnc/qqpR9ppwVFAQNRXe5/SoGH308sfI/U8wJDCsMaelhU9EyxneX6ScoqQ ZPenY8m/lGBtUpxdnYLtc3w2oZa6/TIhzQW1J+rjuZGV9ccSA3wApBFM9gmVVkP60DdU 40EaL3HyZa2T5cRoGeFk969aLSfeRizWuKdKE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=Nj1bSEVHKLlrLftpZU/GfXz+11ouene0w1g04sBpGxlye5dcCg4EYdHBAd5Xjh4e81 zI7gXCOegYrI0btftwMV5Cwc9lhcm5irXWVzaeD9xcnGNFjOr0ZBUxNNPP301SJQampr UIW/MpGHyA98OXbFwEdYoBxpMndSFdfGCh8mo= MIME-Version: 1.0 Received: by 10.227.154.4 with SMTP id m4mr4898294wbw.153.1274106373443; Mon, 17 May 2010 07:26:13 -0700 (PDT) Received: by 10.216.220.200 with HTTP; Mon, 17 May 2010 07:26:13 -0700 (PDT) In-Reply-To: <29214121.82641274105504600.JavaMail.jira@thor> References: <1684587113.212411268340267141.JavaMail.jira@brutus.apache.org> <29214121.82641274105504600.JavaMail.jira@thor> Date: Mon, 17 May 2010 17:26:13 +0300 Message-ID: Subject: Re: [jira] Commented: (OPENJPA-1563) Better parameter validation on StoreCache.pinAll() method From: Web developer To: dev@openjpa.apache.org Content-Type: multipart/alternative; boundary=0016e6498c3ecba1510486cb013c --0016e6498c3ecba1510486cb013c Content-Type: text/plain; charset=ISO-8859-1 I have the following exception in junit tests: enhance.all.entities: [echo] running enhancer 283 WARN [main] openjpa.Runtime - The configuration property named "openjpa.loglevel" was not recognized and will be ignored, although the name closely matches a valid property called "openjpa.Log". org.apache.commons.lang.exception.NestableRuntimeException: Error extracting class information from "/home/webautomator/apache-openjpa-2.0.0-beta3-source/openjpa-persistence-jdbc/target/test-classes/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache$SQLAuditor.class". at org.apache.openjpa.lib.meta.ClassArgParser.parseTypeNames(ClassArgParser.java:226) at org.apache.openjpa.lib.meta.ClassArgParser.parseTypes(ClassArgParser.java:161) at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4637) at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89) at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:171) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) at org.apache.tools.ant.Project.executeTargets(Project.java:1189) at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) at org.apache.tools.ant.Project.executeTargets(Project.java:1189) at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:118) at org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:98) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: java.lang.ArrayIndexOutOfBoundsException: 762 at serp.bytecode.lowlevel.ConstantPoolTable.parse(ConstantPoolTable.java:53) at serp.bytecode.lowlevel.ConstantPoolTable.(ConstantPoolTable.java:23) at serp.bytecode.lowlevel.ConstantPoolTable.(ConstantPoolTable.java:30) at org.apache.openjpa.lib.meta.ClassArgParser.getFromClass(ClassArgParser.java:324) at org.apache.openjpa.lib.meta.ClassArgParser.getFromClassFile(ClassArgParser.java:308) at org.apache.openjpa.lib.meta.ClassArgParser.parseTypeNames(ClassArgParser.java:217) ... 58 more [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] An Ant BuildException has occured: The following error occurred while executing this line: /home/webautomator/apache-openjpa-2.0.0-beta3-source/openjpa-persistence-jdbc/src/main/ant/enhancer.xml:51: The following error occurred while executing this line: /home/webautomator/apache-openjpa-2.0.0-beta3-source/openjpa-persistence-jdbc/src/main/ant/enhancer.xml:84: org.apache.commons.lang.exception.NestableRuntimeException: Error extracting class information from "/home/webautomator/apache-openjpa-2.0.0-beta3-source/openjpa-persistence-jdbc/target/test-classes/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache$SQLAuditor.class". 762 [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 200 minutes 23 seconds [INFO] Finished at: Mon May 17 17:16:19 EEST 2010 [INFO] Final Memory: 57M/143M [INFO] ------------------------------------------------------------------------ Please help anyone. John 2010/5/17 Rick Curtis (JIRA) > > [ > https://issues.apache.org/jira/browse/OPENJPA-1563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868231#action_12868231] > > Rick Curtis commented on OPENJPA-1563: > -------------------------------------- > > Nice catch Milosz. > > Fixed the problem and modified an existing test case to hit this method. > > > Better parameter validation on StoreCache.pinAll() method > > --------------------------------------------------------- > > > > Key: OPENJPA-1563 > > URL: https://issues.apache.org/jira/browse/OPENJPA-1563 > > Project: OpenJPA > > Issue Type: Improvement > > Components: datacache > > Affects Versions: 2.0.0-beta2, 2.0.0 > > Reporter: Kevin Sutter > > Assignee: Rick Curtis > > Priority: Minor > > Fix For: 2.1.0 > > > > > > Validation of the second parameter on StoreCache.pinAll could be better. > Currently, we assume that the list of oids provided are valid ids for the > Class instances being cached. But, if the collection of Objects passed in > are not actual ids, then we end up reserving spots in the cache that never > get utilized. > > /** > > * Pin the data for the given oids to the cache. > > */ > > public void pinAll(Class cls, Object... oids); > > Since the Class type is also passed in, we should be able to validate > that the oids passed in are valid. At a minimum, checking if they are oids > in the first place would be a good catch. Currently, we do nothing. > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > --0016e6498c3ecba1510486cb013c--