Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-1979

Journal appears to leak storage when namespace is deleted

    XMLWordPrintable

    Details

      Description

      michaelschmidt has identified a pattern in which the Journal appears to leak storage when a namespace is deleted. The namespace and the indices are removed from the Journal, but many of the slots associated with the indices remain allocated.

      This is likely a side-effect caused by the refactor of the NSS to support a task-based concurrency control pattern which is compatible with group commit. AbstractJournal.dropIndex() explicitly tests for the IRWStrategy and then invokes BTree.removeAll() / HTree.removeAll() on the index. (This method is defined on ICheckpointProtocol). This is necessary in order to actually free the backing slots in the RWStore.

      The refactor to support group commit has likely caused the IIndexManager to be an AbstractTask.IsolatedActionJournal, which delegates dropIndex() to AbstractTask.dropIndex() which fails to test for whether or not the backing buffer strategy is an IRWStrategy and hence removeAll() is not being called.

      martyncutcher is looking a this now.

        Attachments

          Activity

            People

            Assignee:
            martyncutcher martyncutcher
            Reporter:
            bryanthompson bryanthompson
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: