Jesus Camacho Rodriguez created CALCITE-1808: ------------------------------------------------
Summary: JaninoRelMetadataProvider loading cache might cause OOM error Key: CALCITE-1808 URL: https://issues.apache.org/jira/browse/CALCITE-1808 Project: Calcite Issue Type: Bug Components: core Reporter: Jagruti Varia Assignee: Julian Hyde JaninoRelMetadataProvider has a static handler cache with size increasing over time for long running HS2, ending up causing OOM errors. {code:java} /** Cache of pre-generated handlers by provider and kind of metadata. * For the cache to be effective, providers should implement identity * correctly. */ private static final LoadingCache<Key, MetadataHandler> HANDLERS = CacheBuilder.newBuilder().build( new CacheLoader<Key, MetadataHandler>() { public MetadataHandler load(@Nonnull Key key) { //noinspection unchecked return load3(key.def, key.provider.handlers(key.def), key.relClasses); } }); ... /** Key for the cache. */ private static class Key { public final MetadataDef def; public final RelMetadataProvider provider; public final ImmutableList<Class<? extends RelNode>> relClasses; ... {code} The lifecycle for providers is per query and we have multiple providers instantiated on the lifecycle of a query. The entries are retained in the cache even when query planning has finished. -- This message was sent by Atlassian JIRA (v6.3.15#6346)