[ 
https://issues.apache.org/jira/browse/OPENJPA-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13976409#comment-13976409
 ] 

Romain Manni-Bucau commented on OPENJPA-2492:
---------------------------------------------

if you look j8 CHM implementation, containsKey does a get != null. So calling 
it from our proxy inproxied get method (beforeGet) creates an infinite loop -> 
keySet is a workaround. Using delegation would have made it cleaner but needs 
more refactoring.

> TestConcurrentMap error with Java 8
> -----------------------------------
>
>                 Key: OPENJPA-2492
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2492
>             Project: OpenJPA
>          Issue Type: Sub-task
>          Components: build / infrastructure, Enhance, jpa
>    Affects Versions: 2.4.0
>         Environment: Java 8
> java version "1.8.0"
> Java(TM) SE Runtime Environment (build 1.8.0-b132)
> Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)
>            Reporter: Kevin Sutter
>            Assignee: Kevin Sutter
>         Attachments: OPENJPA-2492.patch
>
>
> One more test failure while running with Java 8.  Since Java 8 introduced 
> some new methods on the Map interface, this is probably related.  We are 
> getting a VerifyError related to the keySet signature:
> Tests in error:
> testConcurrentMap001(org.apache.openjpa.persistence.relations.TestConcurrentMap)
>     <error message="(class: 
> org/apache/openjpa/util/java$util$concurrent$ConcurrentHashMap$4$proxy, 
> method: keySet signature: 
> ()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;) Wrong return type in 
> function" type="java.lang.VerifyError">java.lang.VerifyError: (class: 
> org/apache/openjpa/util/java$util$concurrent$ConcurrentHashMap$4$proxy, 
> method: keySet signature: 
> ()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;) Wrong return type in 
> function
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:340)
>         at 
> org.apache.openjpa.util.GeneratedClasses.loadBCClass(GeneratedClasses.java:68)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to