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

Journal attempts to use checksums when migrating to the QUADS_QUERY_BRANCH

    Details

    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Affects Version/s: QUADS_QUERY_BRANCH
    • Fix Version/s: None
    • Component/s: Journal

      Description

      Per [1], the WORMStrategy in the QUADS_QUERY_BRANCH reported a checksum error against a journal written by the trunk. The root blocks of the journal as posted clearly indicate that one is on version:=0 of the root block format while the other is on version:=2 of the root block format (this version supports checksums and the RWStore). However, FileMetadata#useChecksums() tests the version field of the root block in order to decide whether or not the store is using checksums. Therefore, two errors will arise when migrating a journal onto the QUADS_QUERY_BRANCH. First, the root block will be promoted to version:=2, when the store is in fact at version:=0. Second, by changing the root block version number, the store will begin to use record level checksums. A reopen of the store after that root block is written will be unable to read data due to false reports of checksum errors while newly written data might not decode correctly as the WORMStrategy will not know to ignore the last 4 bytes of the record.

      [1] https://sourceforge.net/projects/bigdata/forums/forum/676946/topic/4411084/index/page/1

        Activity

        Hide
        bryanthompson bryanthompson added a comment -

        Addressed in r4415.

        Show
        bryanthompson bryanthompson added a comment - Addressed in r4415.
        Hide
        bryanthompson bryanthompson added a comment -

        Additional changes per this issue in:


        - r4416 (FileMetadata modified to use the current root block version rather than the current journal version).


        - r4417 (bug fix to root block view ctor from code review).


        - r4418 (rollback changes to RWStore#reopenChannel() to avoid synchronization hot spot).

        Show
        bryanthompson bryanthompson added a comment - Additional changes per this issue in: - r4416 (FileMetadata modified to use the current root block version rather than the current journal version). - r4417 (bug fix to root block view ctor from code review). - r4418 (rollback changes to RWStore#reopenChannel() to avoid synchronization hot spot).

          People

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

            Dates

            • Created:
              Updated:
              Resolved: