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

RWStore reset() should be thread-safe for concurrent readers

    Details

    • Type: New Feature
    • Status: Done
    • Resolution: Done
    • Affects Version/s: BIGDATA_RELEASE_1_1_0
    • Fix Version/s: None
    • Component/s: RWStore

      Description

      While doing root cause analysis on [1] we identified some ways in which a Journal level abort() was not thread-safe for concurrent readers. This ticket exists to fix this problem.

      [1] https://sourceforge.net/apps/trac/bigdata/ticket/481

        Activity

        Hide
        martyncutcher martyncutcher added a comment -

        committed r6034.

        The RWStore reset() method has been rewritten NOT to reload from the currently active rootblock. This not only causes problems with concurrent readers but would result in a complex recovery path when isolated transactions are active.

        Instead the re-write reverts the allocators to their committed state with regard to unisolated actions while protecting isolated state.

        new unit tests have been written to check both logical state maintenance and also to stress test concurrent readers with an unisolated reset.

        Show
        martyncutcher martyncutcher added a comment - committed r6034. The RWStore reset() method has been rewritten NOT to reload from the currently active rootblock. This not only causes problems with concurrent readers but would result in a complex recovery path when isolated transactions are active. Instead the re-write reverts the allocators to their committed state with regard to unisolated actions while protecting isolated state. new unit tests have been written to check both logical state maintenance and also to stress test concurrent readers with an unisolated reset.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: