Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-10324

refactor deferred-log-flush/Durability related interface/code/naming to align with changed semantic of the new write thread model

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.98.0, 0.99.0
    • Client, regionserver
    • None
    • Reviewed
    • In HTableDescriptor, isDeferredLogFlush() and setDeferredLogFlush() are replaced by isAsyncLogFlush() and setAsyncLogFlush(), respectively.

    Description

      By the new write thread model introduced by HBASE-8755, some deferred-log-flush/Durability API/code/names should be change accordingly:
      1. no timer-triggered deferred-log-flush since flush is always done by async threads, so configuration 'hbase.regionserver.optionallogflushinterval' is no longer needed
      2. the async writer-syncer-notifier threads will always be triggered implicitly, this semantic is that it always holds that 'hbase.regionserver.optionallogflushinterval' > 0, so deferredLogSyncDisabled in HRegion.java which affects durability behavior should always be false
      3. what HTableDescriptor.isDeferredLogFlush really means is the write can return without waiting for the sync is done, so the interface name should be changed to isAsyncLogFlush/setAsyncLogFlush to reflect their real meaning

      Attachments

        1. HBASE-10324-trunk_v2.patch
          15 kB
          Honghua Feng
        2. HBASE-10324-trunk_v1.patch
          14 kB
          Honghua Feng
        3. HBASE-10324-trunk_v0.patch
          14 kB
          Honghua Feng
        4. 10324-trunk_v3.patch
          15 kB
          Ted Yu

        Activity

          People

            fenghh Honghua Feng
            fenghh Honghua Feng
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: