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

Ruben Q L edited comment on CALCITE-4492 at 2/10/21, 5:48 PM:
--------------------------------------------------------------

Not sure [~julianhyde], but maybe WebSphere is to blame here.

WebSphere environment in this test was:
{noformat}
WebSphere Platform 9.0.0.1 ... [JAVA8 8.0.3.11]
{noformat}

I have found several issues on IBM involving {{IllegalAccessException}} around 
{{java.lang.invoke.MethodHandles$Lookup.checkAccess}}
Particularly this one seems very, very similar at stack trace level:
https://www.ibm.com/support/pages/apar/IV96259
According to IBM's ticket, this got fixed on *8.0.4.10*, so maybe a WebSphere 
update is just the solution, and there is no issue on Calcite side. I'll try to 
confirm this point.


was (Author: rubenql):
Not sure [~julianhyde], but maybe WebSphere is to blame here.

WebSphere environment in this test was:
{noformat}
WebSphere Platform 9.0.0.1 ... [JAVA8 8.0.3.11]
{noformat}

I have found several issues on IBM involving {{IllegalAccessException}} around 
{{java.lang.invoke.MethodHandles$Lookup.checkAccess}}
Particularly this one seems very, very similar at stack trace level:
https://www.ibm.com/support/pages/apar/IV96259
According to IBM's ticket, this got fixed on 8.0.4.10, so maybe a WebSphere 
update is just the solution, and there is no issue on Calcite side. I'll try to 
confirm this point.

> ExceptionInInitializerError caused by ImmutableBeans
> ----------------------------------------------------
>
>                 Key: CALCITE-4492
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4492
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.26.0
>            Reporter: Ruben Q L
>            Priority: Major
>
> While testing an application that uses Calcite, the following error is 
> observed at start-up on a Websphere9 environment (IBM J9 VM, Java8, Ubuntu):
> {noformat}
> Caused by: java.lang.ExceptionInInitializerError
>     at java.lang.J9VMInternals.ensureError(J9VMInternals.java:141)
>     at 
> java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:130)
> ...
> Caused by: java.lang.RuntimeException: while binding method public default 
> java.lang.Object 
> com.onwbp.org.apache.calcite.plan.RelRule$Config.as(java.lang.Class)
>     at 
> com.onwbp.org.apache.calcite.util.ImmutableBeans.makeDef(ImmutableBeans.java:285)
>     at 
> com.onwbp.org.apache.calcite.util.ImmutableBeans.access$000(ImmutableBeans.java:51)
>     at 
> com.onwbp.org.apache.calcite.util.ImmutableBeans$1.load(ImmutableBeans.java:64)
>     at 
> com.onwbp.org.apache.calcite.util.ImmutableBeans$1.load(ImmutableBeans.java:61)
>     at 
> com.onwbp.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
>     at 
> com.onwbp.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278)
>     at 
> com.onwbp.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
>     at 
> com.onwbp.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045)
>     at com.onwbp.com.google.common.cache.LocalCache.get(LocalCache.java:3951)
>     at 
> com.onwbp.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974)
>     at 
> com.onwbp.com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4958)
>     at 
> com.onwbp.org.apache.calcite.util.ImmutableBeans.create_(ImmutableBeans.java:91)
>     at 
> com.onwbp.org.apache.calcite.util.ImmutableBeans.create(ImmutableBeans.java:72)
>     at 
> com.onwbp.org.apache.calcite.plan.RelRule$Config.<clinit>(RelRule.java:121)
> <Break in method call trace.>
> ... 73 more
> Caused by: java.lang.IllegalAccessException: 
> 'com.onwbp.org.apache.calcite.plan.RelRule$Config' no access to: 
> 'com.onwbp.org.apache.calcite.plan.RelRule$Config.as:(Config,Class)Object/invokeSpecial'
>     at 
> java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:333)
>     at 
> java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:970)
>     at 
> com.onwbp.org.apache.calcite.util.ImmutableBeans.makeDef(ImmutableBeans.java:283)
> ... 86 more
> {noformat}
> It would seem there is an issue around 
> {{org.apache.calcite.util.ImmutableBeans}} and the reflection mechanisms that 
> it uses, in the context of {{RelRule#Config}} (and specifically the default 
> method {{RelRule$Config.as}}).
> Googling a bit, I found the following Flink ticket FLINK-19820, which has a 
> very similar exception message. In that case it was seen with Java9 in a 
> Debian environment, and the problem is also around {{ImmutableBeans}} in 
> {{RelBuilder#Config}}, and again the issue seems generated by a default 
> method ({{RelBuilder$Config.toBuilder}}).
> The Flink ticket was closed as "Won't Fix" just because Flink does not 
> support Java9 (and apparently the issue did not occur with the 
> Flink-supported Java versions), but the underlying Calcite problem was never 
> tackled (and Calcite is supposed to work on Java9).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to