Uploaded image for project: 'S2Graph'
  1. S2Graph
  2. S2GRAPH-230

ResourceManager onEvict cause segmentation fault with AnnoyModelFetcher

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Done
    • Minor
    • Resolution: Done
    • None
    • None
    • s2core
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              steamshon Do Yung Yoon
              steamshon Do Yung Yoon
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: