XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 0.99.2
    • None
    • None
    • Reviewed
    • Hide
      Disabled Distributed Log Replay (DLR) as default WAL/hlog splitting mechanism. 1.0.x releases will default to Distributed Log Splitting (DLS) system which is the default for 0.98, 0.96 and 0.94 releases.

      DLR improves MTTR (the more regions a server is carrying, the better the improvement. Also, we can start taking writes during WAL/hlog recovery), but rolling upgrade to HBase-1.0.x from earlier releases of 0.98 branch (0.98.0,..,0.98.3) can result in data loss. If you are not doing rolling upgrade, or you are rolling upgrading from a 0.98 greater than or equal to 0.98.4, you can safely turn on distributed log replay by default. Regular upgrade (as opposed to rolling upgrade) is not affected. See HBASE-11094 for details.

      See HBASE-7006 to learn more about DLR. You can enable this feature by setting hbase.master.distributed.log.replay to true in your hbase-site.xml file.
      Show
      Disabled Distributed Log Replay (DLR) as default WAL/hlog splitting mechanism. 1.0.x releases will default to Distributed Log Splitting (DLS) system which is the default for 0.98, 0.96 and 0.94 releases. DLR improves MTTR (the more regions a server is carrying, the better the improvement. Also, we can start taking writes during WAL/hlog recovery), but rolling upgrade to HBase-1.0.x from earlier releases of 0.98 branch (0.98.0,..,0.98.3) can result in data loss. If you are not doing rolling upgrade, or you are rolling upgrading from a 0.98 greater than or equal to 0.98.4, you can safely turn on distributed log replay by default. Regular upgrade (as opposed to rolling upgrade) is not affected. See HBASE-11094 for details. See HBASE-7006 to learn more about DLR. You can enable this feature by setting hbase.master.distributed.log.replay to true in your hbase-site.xml file.

    Description

      Distributed log replay is an awesome feature, but due of HBASE-11094, the rolling upgrade story from 0.98 is hard to explain / enforce.

      The fix for HBASE-11094 only went into 0.98.4, meaning rolling upgrades from 0.98.4- might lose data during the upgrade.

      I feel no matter how much documentation / warning we do, we cannot prevent users from doing rolling upgrades from 0.98.4- to 1.0. And we do not want to inconvenience the user by requiring a two step rolling upgrade.

      Thus I think we should disable dist log replay for 1.0, and re-enable it again for 1.1 (if rolling upgrade from 0.98 is not supported).

      ie. undo: HBASE-10888

      Attachments

        1. HBASE-12567.patch
          1 kB
          Enis Soztutar
        2. HBASE-12567.patch
          1 kB
          Jeffrey Zhong

        Issue Links

          Activity

            People

              jeffreyz Jeffrey Zhong
              enis Enis Soztutar
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: