Details

      Description

      The RW Store appears to have matured in the JOURNAL_HA_BRANCH. In order bring the RW Store into the trunk, we merge the rest of the JOURNAL_HA_BRANCH to the trunk as well. This is required by the changes in how the Journal handles its write cache
      - the write cache is the basis of write replication chains for HA.

      Merge JOURNAL_HA_BRANCH to trunk and create a FEDERATION_HA_BRANCH in which we will complete the HA features for the federation. After this merge, the RW Store will be maintained in the trunk.

        Activity

        Hide
        bryanthompson bryanthompson added a comment -

        The following tests need to be reviewed before we can bring this branch to the trunk:

        com.bigdata.journal.StressTestConcurrentUnisolatedIndices.test_concurrentClients 
        com.bigdata.journal.TestWORMStrategy$TestInterrupts.test_channelOpenAfterInterrupt 
        com.bigdata.rwstore.TestRWJournal$TestInterrupts.test_channelOpenAfterInterrupt 
        com.bigdata.rwstore.TestRWJournal$TestInterrupts.test_reopenAfterInterrupt_checkWriteBuffer 
        
        Show
        bryanthompson bryanthompson added a comment - The following tests need to be reviewed before we can bring this branch to the trunk: com.bigdata.journal.StressTestConcurrentUnisolatedIndices.test_concurrentClients com.bigdata.journal.TestWORMStrategy$TestInterrupts.test_channelOpenAfterInterrupt com.bigdata.rwstore.TestRWJournal$TestInterrupts.test_channelOpenAfterInterrupt com.bigdata.rwstore.TestRWJournal$TestInterrupts.test_reopenAfterInterrupt_checkWriteBuffer
        Hide
        bryanthompson bryanthompson added a comment -

        The following items should be reviewed/resolved:

        RWStrategy:

        getHeaderSize()
        getUserExtent()
        transferTo()
        truncate()
        toString(long addr) should be reconciled with RWAddressManager.
        size()
        reopen(), including m_needsReopen and invocations of reopen().
        

        IBufferStrategy

        getMaximumRecordSize()
        

        RWStore

        preserveSessionData is always true.
        close() eats IOException and should use the Logger.
        deferFree() eats IOException and should use Logger.
            private static int cDefaultMetaBitsSize = 9; // DEBUG FIX ME
        registerBlob() (and others) use commitList.contains(). should commitList be a LinkedHashMap?
        Various method using e.printStackTrace() should use logger.
        
        Show
        bryanthompson bryanthompson added a comment - The following items should be reviewed/resolved: RWStrategy: getHeaderSize() getUserExtent() transferTo() truncate() toString(long addr) should be reconciled with RWAddressManager. size() reopen(), including m_needsReopen and invocations of reopen(). IBufferStrategy getMaximumRecordSize() RWStore preserveSessionData is always true. close() eats IOException and should use the Logger. deferFree() eats IOException and should use Logger. private static int cDefaultMetaBitsSize = 9; // DEBUG FIX ME registerBlob() (and others) use commitList.contains(). should commitList be a LinkedHashMap? Various method using e.printStackTrace() should use logger.
        Hide
        bryanthompson bryanthompson added a comment -

        Here are the remaining things which I think need attending:

        RWStrategy:


        - Review life cycle state changes and refusal of methods when the backing store is closed. m_open should probably be moved into RWStore which could then expose an isOpen() method to be used by this class.

        RWStore:


        - reset(), as demonstrated by test_abort().


        - getChannel(). this should nearly always go through the reopener.


        - maxFileSize


        - test on LUBM, BSBM, uniprot, load+commit followed by closure+commit, very large load (10B+)

        AbstractTask:


        - shadow allocation integration.

        Show
        bryanthompson bryanthompson added a comment - Here are the remaining things which I think need attending: RWStrategy: - Review life cycle state changes and refusal of methods when the backing store is closed. m_open should probably be moved into RWStore which could then expose an isOpen() method to be used by this class. RWStore: - reset(), as demonstrated by test_abort(). - getChannel(). this should nearly always go through the reopener. - maxFileSize - test on LUBM, BSBM, uniprot, load+commit followed by closure+commit, very large load (10B+) AbstractTask: - shadow allocation integration.
        Hide
        bryanthompson bryanthompson added a comment -

        Merged from trunk [r3655:r3894] on 11/4/1010. Committed revision 3895. (There were only a few changes in the trunk since the last merge from the trunk, which was on 8/9/2010).

        Show
        bryanthompson bryanthompson added a comment - Merged from trunk [r3655:r3894] on 11/4/1010. Committed revision 3895. (There were only a few changes in the trunk since the last merge from the trunk, which was on 8/9/2010).
        Hide
        bryanthompson bryanthompson added a comment -

        The JOURNAL_HA_BRANCH has been merged to the QUADS_QUERY_BRANCH instead of directly to the trunk. We are now aiming for a release which includes both the RWStore and the new QueryEngine.

        Show
        bryanthompson bryanthompson added a comment - The JOURNAL_HA_BRANCH has been merged to the QUADS_QUERY_BRANCH instead of directly to the trunk. We are now aiming for a release which includes both the RWStore and the new QueryEngine.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: