DOYUNG YOON created S2GRAPH-230: ----------------------------------- Summary: ResourceManager onEvict cause segmentation fault with AnnoyModelFetcher Key: S2GRAPH-230 URL: https://issues.apache.org/jira/browse/S2GRAPH-230 Project: S2Graph Issue Type: Bug Components: s2core Reporter: DOYUNG YOON
Current implementation causes the segmentation fault when the query on edges that bind to custom EdgeFetcher, more specifically AnnoyModelFetcher with cacheTTLInSecs as -1. cacheTTLInSecs -1 means we initialize EdgeFetcher instance instead of using local cached instance. SafeUpdateCache put newly instantiated EdgeFetcher instance into guava cache, then call `onEvict` method defined in ResourceManager, which immediately call close() on Annoy4s JNI library, which causes the segmentation fault. One quick fix on this issue is scheduling EdgeFetcher's close method in a short period of time delay in the background. -- This message was sent by Atlassian JIRA (v7.6.3#76005)