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

Code review and concepts for provably correctness for abort code paths

    Details

    • Type: Task
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: BLAZEGRAPH_RELEASE_1_5_1
    • Fix Version/s: BLAZEGRAPH_2_X_BACKLOG
    • Component/s: RWStore
    • Labels:
      None

      Description

      The code paths for abort at the HAJournal, Journal, AbstactJournal, BigdataSailConnection, AbstractTripleStore, AbstractTask, etc. all need to ensure that any side-effects are properly discarded if there is an interrupt during abort processing.

      Per BLZG-1236, there is currently a possibility that the RWStore.reset() method would not properly redo the reset() if it were interrupted.

      One possibility is to create an interface for a guarded section that (a) prevents writes unless it is successful; and (b) explicitly identifies methods for commit/abort such that a commit can not proceed unless any requested abort has been properly executed AND such that a redo of an abort is explicitly supported.

      In particular, this means that we need to be careful with things such as removing items from collections before clearing their associated state, clearing collection references before clearing their contents, etc.


      - See BLZG-1236 Recycler error in 1.5.1

        Issue Links

          Activity

          There are no comments yet on this issue.

            People

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

              Dates

              • Created:
                Updated: