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

Josh Elser commented on CALCITE-1053:
-------------------------------------

Thanks for fixing [~vladimirsitnikov].

https://github.com/apache/calcite/commit/fe91d46761f460927b21ef334fee5e686b54e397

Please don't forget to add the JIRA issue when you make a commit in the future 
(e.g. "[CALCITE-1053] Fix CPU spin in ReflectiveRelMetadataProvider.apply -> 
HashMap.get")

> Test occasionally hanging around use of ReflectiveRelMetadataProvider
> ---------------------------------------------------------------------
>
>                 Key: CALCITE-1053
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1053
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Josh Elser
>            Assignee: Vladimir Sitnikov
>             Fix For: 1.6.0
>
>
> I've started seeing some tests (JdbcTest and JdbcFrontLinqBackTest) in 
> calcite-core hanging now and again:
> {noformat}
> "pool-1-thread-1" prio=5 tid=0x00007fd50611e800 nid=0x5103 runnable 
> [0x0000000115b81000]
>    java.lang.Thread.State: RUNNABLE
>     at java.util.HashMap.getEntry(HashMap.java:465)
>     at java.util.HashMap.get(HashMap.java:417)
>     at 
> org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider.apply(ReflectiveRelMetadataProvider.java:289)
>     at 
> org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider.apply(ReflectiveRelMetadataProvider.java:278)
>     at 
> org.apache.calcite.rel.metadata.ChainedRelMetadataProvider.apply(ChainedRelMetadataProvider.java:63)
>     at 
> org.apache.calcite.rel.metadata.ChainedRelMetadataProvider.apply(ChainedRelMetadataProvider.java:63)
>     at 
> org.apache.calcite.rel.metadata.ChainedRelMetadataProvider.apply(ChainedRelMetadataProvider.java:63)
>     at 
> org.apache.calcite.rel.metadata.MetadataFactoryImpl$2.load(MetadataFactoryImpl.java:57)
>     at 
> org.apache.calcite.rel.metadata.MetadataFactoryImpl$2.load(MetadataFactoryImpl.java:54)
>     at 
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
>     at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
>     at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
>     - locked <0x00000007e1287590> (a 
> com.google.common.cache.LocalCache$StrongEntry)
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
>     at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
>     at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
>     at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
>     at 
> org.apache.calcite.rel.metadata.MetadataFactoryImpl.query(MetadataFactoryImpl.java:71)
>     at 
> org.apache.calcite.rel.AbstractRelNode.metadata(AbstractRelNode.java:296)
>     at 
> org.apache.calcite.rel.metadata.RelMetadataQuery.getNonCumulativeCost(RelMetadataQuery.java:140)
> {noformat}
> {noformat}
> "pool-1-thread-6" prio=5 tid=0x00007fd50684c000 nid=0x5d03 runnable 
> [0x0000000116193000]
>    java.lang.Thread.State: RUNNABLE
>     at java.util.HashMap.put(HashMap.java:494)
>     at 
> org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider.apply(ReflectiveRelMetadataProvider.java:292)
>     at 
> org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider.apply(ReflectiveRelMetadataProvider.java:278)
>     at 
> org.apache.calcite.rel.metadata.ChainedRelMetadataProvider.apply(ChainedRelMetadataProvider.java:63)
>     at 
> org.apache.calcite.rel.metadata.ChainedRelMetadataProvider.apply(ChainedRelMetadataProvider.java:63)
>     at 
> org.apache.calcite.rel.metadata.MetadataFactoryImpl$2.load(MetadataFactoryImpl.java:57)
>     at 
> org.apache.calcite.rel.metadata.MetadataFactoryImpl$2.load(MetadataFactoryImpl.java:54)
>     at 
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
>     at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
>     at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
>     - locked <0x00000007a0fa41a0> (a 
> com.google.common.cache.LocalCache$StrongEntry)
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
>     at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
>     at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
>     at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
>     at 
> org.apache.calcite.rel.metadata.MetadataFactoryImpl.query(MetadataFactoryImpl.java:71)
>     at 
> org.apache.calcite.rel.AbstractRelNode.metadata(AbstractRelNode.java:296)
>     at 
> org.apache.calcite.rel.metadata.RelMetadataQuery.getNonCumulativeCost(RelMetadataQuery.java:140)
>  
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to