Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-5954 Allow proper fsync support for HBase
  3. HBASE-7801

Allow a deferred sync option per Mutation.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.94.6, 0.95.0
    • 0.98.0, 0.94.7, 0.95.1
    • None
    • None
    • Hide
      HBase clients from 0.94.7 going forward support the following new API for Mutations (Put/Delete/Append/Increment).
      Mutation.setDurability(Durability). Possible durability settings are: USE_DEFAULT (use whatever the table has been configured with), SKIP_WAL (do not write anything to the WAL), ASYNC_WAL (write to the WAL asynchronously), SYNC (write to the WAL synchrously), FSYNC (write to the WAL synchronously and force to disc everywhere - currently not supported).

      Regionservers prior to 0.94.7 with ignore anything but SKIP_WAL and assume USE_DEFAULT.
      Show
      HBase clients from 0.94.7 going forward support the following new API for Mutations (Put/Delete/Append/Increment). Mutation.setDurability(Durability). Possible durability settings are: USE_DEFAULT (use whatever the table has been configured with), SKIP_WAL (do not write anything to the WAL), ASYNC_WAL (write to the WAL asynchronously), SYNC (write to the WAL synchrously), FSYNC (write to the WAL synchronously and force to disc everywhere - currently not supported). Regionservers prior to 0.94.7 with ignore anything but SKIP_WAL and assume USE_DEFAULT.

    Description

      Won't have time for parent. But a deferred sync option on a per operation basis comes up quite frequently.
      In 0.96 this can be handled cleanly via protobufs and 0.94 we can have a special mutation attribute.

      For batch operation we'd take the safest sync option of any of the mutations. I.e. if there is at least one that wants to be flushed we'd sync the batch, if there's none of those but at least one that wants deferred flush we defer flush the batch, etc.

      Attachments

        1. 7801-0.94-v7.txt
          16 kB
          Lars Hofhansl
        2. 7801-0.94-v6.txt
          16 kB
          Lars Hofhansl
        3. hbase-7801-addendum.patch
          0.8 kB
          Jeffrey Zhong
        4. 7801-0.94-v5.txt
          16 kB
          Lars Hofhansl
        5. 7801-0.94-v4.txt
          15 kB
          Lars Hofhansl
        6. 7801-0.96-v10.txt
          162 kB
          Lars Hofhansl
        7. 7801-0.96-v9.txt
          156 kB
          Lars Hofhansl
        8. 7801-0.96-v8.txt
          156 kB
          Lars Hofhansl
        9. 7801-0.96-v7.txt
          156 kB
          Lars Hofhansl
        10. 7801-0.96-v6.txt
          156 kB
          Lars Hofhansl
        11. 7801-0.96-full-v5.txt
          152 kB
          Lars Hofhansl
        12. 7801-0.96-full-v4.txt
          150 kB
          Lars Hofhansl
        13. 7801-0.96-full-v3.txt
          151 kB
          Lars Hofhansl
        14. 7801-0.96-full-v2.txt
          149 kB
          Lars Hofhansl
        15. 7801-0.94-v3.txt
          7 kB
          Lars Hofhansl
        16. 7801-0.96-v1.txt
          6 kB
          Lars Hofhansl
        17. 7801-0.94-v2.txt
          5 kB
          Lars Hofhansl
        18. 7801-0.94-v1.txt
          2 kB
          Lars Hofhansl

        Issue Links

          Activity

            People

              larsh Lars Hofhansl
              larsh Lars Hofhansl
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: