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

    XMLWordPrintable

    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

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated: