You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Michael Smith (Jira)" <ji...@apache.org> on 2024/03/21 18:02:00 UTC

[jira] [Resolved] (IMPALA-12819) InaccessibleObjectException found during LocalCatalogTest

     [ https://issues.apache.org/jira/browse/IMPALA-12819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Smith resolved IMPALA-12819.
------------------------------------
    Fix Version/s: Impala 4.4.0
       Resolution: Fixed

> InaccessibleObjectException found during LocalCatalogTest
> ---------------------------------------------------------
>
>                 Key: IMPALA-12819
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12819
>             Project: IMPALA
>          Issue Type: Task
>          Components: fe
>    Affects Versions: Impala 4.4.0
>            Reporter: Fang-Yu Rao
>            Assignee: Michael Smith
>            Priority: Major
>              Labels: broken-build
>             Fix For: Impala 4.4.0
>
>
> We found in an internal build that during LocalCatalogTest we could encounter InaccessibleObjectException. This was found by the test [test_no_inaccessible_objects|https://github.com/apache/impala/blob/master/tests/verifiers/test_banned_log_messages.py#L40C7-L40C35]
> {code:java}
> W0217 01:31:14.108255 18119 ObjectGraphWalker.java:251] The JVM is preventing Ehcache from accessing the subgraph beneath 'private final jdk.internal.platform.CgroupV1Metrics jdk.internal.platform.CgroupV1MetricsImpl.metrics' - cache sizes may be underestimated as a result
> Java exception follows:
> java.lang.reflect.InaccessibleObjectException: Unable to make field private final jdk.internal.platform.CgroupV1Metrics jdk.internal.platform.CgroupV1MetricsImpl.metrics accessible: module java.base does not "opens jdk.internal.platform" to unnamed module @2c89cd7f
>         at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
>         at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
>         at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:176)
>         at java.base/java.lang.reflect.Field.setAccessible(Field.java:170)
>         at org.ehcache.sizeof.ObjectGraphWalker.getAllFields(ObjectGraphWalker.java:245)
>         at org.ehcache.sizeof.ObjectGraphWalker.getFilteredFields(ObjectGraphWalker.java:204)
>         at org.ehcache.sizeof.ObjectGraphWalker.walk(ObjectGraphWalker.java:159)
>         at org.ehcache.sizeof.SizeOf.deepSizeOf(SizeOf.java:74)
>         at org.apache.impala.catalog.local.CatalogdMetaProvider$SizeOfWeigher.weigh(CatalogdMetaProvider.java:2234)
>         at com.google.common.cache.LocalCache$Segment.setValue(LocalCache.java:2043)
>         at com.google.common.cache.LocalCache$Segment.replace(LocalCache.java:2990)
>         at com.google.common.cache.LocalCache.replace(LocalCache.java:4324)
>         at org.apache.impala.catalog.local.CatalogdMetaProvider.loadWithCaching(CatalogdMetaProvider.java:569)
>         at org.apache.impala.catalog.local.CatalogdMetaProvider.loadIcebergApiTable(CatalogdMetaProvider.java:1160)
>         at org.apache.impala.catalog.local.LocalIcebergTable.loadIcebergTableViaMetaProvider(LocalIcebergTable.java:96)
>         at org.apache.impala.catalog.local.LocalTable.load(LocalTable.java:131)
>         at org.apache.impala.catalog.local.LocalTable.load(LocalTable.java:114)
>         at org.apache.impala.catalog.local.LocalDb.getTable(LocalDb.java:148)
>         at org.apache.impala.catalog.local.LocalCatalog.getTable(LocalCatalog.java:139)
>         at org.apache.impala.catalog.local.LocalCatalogTest.testLoadIcebergFileDescriptors(LocalCatalogTest.java:280)
>         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>         at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>         at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>         at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>         at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>         at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>         at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
>         at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
>         at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
>         at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
> {code}
> Maybe we should add something like the following in [bin/run-all-tests.sh|https://github.com/apache/impala/blob/master/bin/run-all-tests.sh] as done in [IMPALA-11260: (Addendum) Restrict add-opens to Java 9+|https://github.infra.cloudera.com/CDH/Impala/commit/a482b1cb1c285cee067fa8267f529eb65835a261].
> {code:java}
> "--add-opens=java.base/jdk.internal.platform=ALL-UNNAMED"
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)