I'm seeing the occasional "deadlock" on some tests in calcite-core. The top of the stacktrace seems to get stuck in the following:

"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)

or

"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)

Before I go digging in, does this ring any bells to anyone? It's currently hanging here for over 5 minutes, but there is still heap activity happening. Just took a dump with jvisualvm too. Will poke around.

- Josh

Reply via email to