You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@s2graph.apache.org by "DOYUNG YOON (JIRA)" <ji...@apache.org> on 2018/07/02 06:49:00 UTC

[jira] [Created] (S2GRAPH-230) ResourceManager onEvict cause segmentation fault with AnnoyModelFetcher

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)