HBase
  1. HBase
  2. HBASE-2600

Change how we do meta tables; from tablename+STARTROW+randomid to instead, tablename+ENDROW+randomid

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      This is an idea that Ryan and I have been kicking around on and off for a while now.

      If regionnames were made of tablename+endrow instead of tablename+startrow, then in the metatables, doing a search for the region that contains the wanted row, we'd just have to open a scanner using passed row and the first row found by the scan would be that of the region we need (If offlined parent, we'd have to scan to the next row).

      If we redid the meta tables in this format, we'd be using an access that is natural to hbase, a scan as opposed to the perverse, expensive getClosestRowBefore we currently have that has to walk backward in meta finding a containing region.

      This issue is about changing the way we name regions.

      If we were using scans, prewarming client cache would be near costless (as opposed to what we'll currently have to do which is first a getClosestRowBefore and then a scan from the closestrowbefore forward).

      Converting to the new method, we'd have to run a migration on startup changing the content in meta.

      Up to this, the randomid component of a region name has been the timestamp of region creation. HBASE-2531 "32-bit encoding of regionnames waaaaaaayyyyy too susceptible to hash clashes" proposes changing the randomid so that it contains actual name of the directory in the filesystem that hosts the region. If we had this in place, I think it would help with the migration to this new way of doing the meta because as is, the region name in fs is a hash of regionname... changing the format of the regionname would mean we generate a different hash... so we'd need hbase-2531 to be in place before we could do this change.

        Issue Links

          Activity

          stack created issue -
          Joe Pallas made changes -
          Field Original Value New Value
          Link This issue relates to HBASE-4335 [ HBASE-4335 ]
          Alex Newman made changes -
          Parent HBASE-4616 [ 12527685 ]
          Issue Type Improvement [ 4 ] Sub-task [ 7 ]
          Alex Newman made changes -
          Assignee Alex Newman [ posix4e ]
          Alex Newman made changes -
          Alex Newman made changes -
          Parent HBASE-4616 [ 12527685 ]
          Issue Type Sub-task [ 7 ] Bug [ 1 ]
          Alex Newman made changes -
          Alex Newman made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Alex Newman made changes -
          Alex Newman made changes -
          Alex Newman made changes -
          Attachment jenkins.pdf [ 12510807 ]
          Ted Yu made changes -
          Comment [ -1 overall. Here are the results of testing the latest attachment
            http://issues.apache.org/jira/secure/attachment/12510807/jenkins.pdf
            against trunk revision .

              +1 @author. The patch does not contain any @author tags.

              -1 tests included. The patch doesn't appear to include any new or modified tests.
                                  Please justify why no new tests are needed for this patch.
                                  Also please list what manual steps were performed to verify this patch.

              -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/788//console

          This message is automatically generated. ]
          Alex Newman made changes -
          Link This issue blocks HBASE-5217 [ HBASE-5217 ]
          Alex Newman made changes -
          Ted Yu made changes -
          Comment [ -1 overall. Here are the results of testing the latest attachment
            http://issues.apache.org/jira/secure/attachment/12510898/0001-HBASE-2600.-Change-how-we-do-meta-tables-from-tablen-v6.patch
            against trunk revision .

              +1 @author. The patch does not contain any @author tags.

              +1 tests included. The patch appears to include 31 new or modified tests.

              -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/797//console

          This message is automatically generated. ]
          Ted Yu made changes -
          Attachment 2600-trunk-01-17.txt [ 12510912 ]
          Alex Newman made changes -
          Alex Newman made changes -
          Alex Newman made changes -
          Alex Newman made changes -
          stack made changes -
          Link This issue relates to HBASE-1841 [ HBASE-1841 ]
          Schubert Zhang made changes -
          Link This issue relates to HBASE-1978 [ HBASE-1978 ]
          Alex Newman made changes -
          Attachment 0001-HBASE-2600.-Change-how-we-do-meta-tables-from-tablen.patch [ 12519877 ]
          Alex Newman made changes -
          Attachment HBASE-2600+5217-Sun-Mar-25-2012.patch [ 12519878 ]
          Alex Newman made changes -
          Attachment HBASE-2600+5217-Sun-Mar-25-2012-v2.patch [ 12519879 ]
          Alex Newman made changes -
          Attachment HBASE-2600+5217-Sun-Mar-25-2012-v2.patch [ 12519879 ]
          Alex Newman made changes -
          Attachment HBASE-2600+5217-Sun-Mar-25-2012.patch [ 12519878 ]
          Alex Newman made changes -
          Attachment 0001-HBASE-2600.-Change-how-we-do-meta-tables-from-tablen.patch [ 12519877 ]
          Alex Newman made changes -
          Ted Yu made changes -
          Comment [ -1 overall. Here are the results of testing the latest attachment
            http://issues.apache.org/jira/secure/attachment/12510928/0001-HBASE-2600.-Change-how-we-do-meta-tables-from-tablen-v7.2.patch
            against trunk revision .

              +1 @author. The patch does not contain any @author tags.

              +1 tests included. The patch appears to include 31 new or modified tests.

              -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/800//console

          This message is automatically generated. ]
          Ted Yu made changes -
          Comment [ -1 overall. Here are the results of testing the latest attachment
            http://issues.apache.org/jira/secure/attachment/12519877/0001-HBASE-2600.-Change-how-we-do-meta-tables-from-tablen.patch
            against trunk revision .

              +1 @author. The patch does not contain any @author tags.

              +1 tests included. The patch appears to include 64 new or modified tests.

              -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1301//console

          This message is automatically generated. ]
          Ted Yu made changes -
          Comment [ -1 overall. Here are the results of testing the latest attachment
            http://issues.apache.org/jira/secure/attachment/12519878/HBASE-2600%2B5217-Sun-Mar-25-2012.patch
            against trunk revision .

              +1 @author. The patch does not contain any @author tags.

              -1 tests included. The patch doesn't appear to include any new or modified tests.
                                  Please justify why no new tests are needed for this patch.
                                  Also please list what manual steps were performed to verify this patch.

              -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1302//console

          This message is automatically generated. ]
          Alex Newman made changes -
          Alex Newman made changes -
          Attachment hbase-2600-root.dir.tgz [ 12520024 ]
          Ted Yu made changes -
          Comment [ -1 overall. Here are the results of testing the latest attachment
            http://issues.apache.org/jira/secure/attachment/12520024/hbase-2600-root.dir.tgz
            against trunk revision .

              +1 @author. The patch does not contain any @author tags.

              -1 tests included. The patch doesn't appear to include any new or modified tests.
                                  Please justify why no new tests are needed for this patch.
                                  Also please list what manual steps were performed to verify this patch.

              -1 patch. The patch command could not apply the patch.

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1315//console

          This message is automatically generated. ]
          Jeff Hammerbacher made changes -
          Link This issue is related to HBASE-4071 [ HBASE-4071 ]
          Jeff Hammerbacher made changes -
          Link This issue is related to HBASE-2531 [ HBASE-2531 ]
          Alex Newman made changes -
          Attachment 0001-HBASE-2600.v10.patch [ 12523233 ]
          Alex Newman made changes -
          Attachment 0001-HBASE-2600-v11.patch [ 12523242 ]
          Gavin made changes -
          Link This issue blocks HBASE-5217 [ HBASE-5217 ]
          Gavin made changes -
          Link This issue is depended upon by HBASE-5217 [ HBASE-5217 ]
          Jean-Daniel Cryans made changes -
          Status Patch Available [ 10002 ] Open [ 1 ]
          Alex Newman made changes -
          Assignee Alex Newman [ posix4e ]

            People

            • Assignee:
              Unassigned
              Reporter:
              stack
            • Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

              • Created:
                Updated:

                Development