HBase
  1. HBase
  2. HBASE-4794

Altering a tables that splits can hold the command for the CatalogJanitor sleep time

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 0.92.0
    • Fix Version/s: 0.92.3
    • Component/s: None
    • Labels:
      None

      Description

      In AssignmentManager.getReopenStatus, it calls a version of MetaReader.getTableRegions that sets excludeOfflinedSplitParents to false meaning that the offline parents are returned. What this means is that if one of them was already closed before the alter command was issued (and I believe there are a few other cases) then the alter will hang until the CatalogJanitor sweeps the parent .META. row.

      Since the CJ sleep time is 5 minutes, the worst case scenario is an alter that takes almost 5 minutes.

      Here's an example:

      925/948 regions updated.
      920/943 regions updated.
      913/934 regions updated.
      912/928 regions updated.
      912/928 regions updated.

      (5 minutes later)

      912/928 regions updated.
      912/928 regions updated.
      905/918 regions updated.
      897/906 regions updated.
      891/892 regions updated.
      891/891 regions updated.
      Done.

      I can confirm with the log that 37 parent regions were cleaned up.

      Also it's pretty nice to see how the number fluctuates up and down

        Activity

        Jean-Daniel Cryans created issue -
        Hide
        Ted Yu added a comment -

        We should pass true to MetaReader.getTableRegions() in AssignmentManager.getReopenStatus()

        Show
        Ted Yu added a comment - We should pass true to MetaReader.getTableRegions() in AssignmentManager.getReopenStatus()
        Hide
        Jean-Daniel Cryans added a comment -

        Downgrading to major instead of critical because of HBASE-4815.

        Show
        Jean-Daniel Cryans added a comment - Downgrading to major instead of critical because of HBASE-4815 .
        Jean-Daniel Cryans made changes -
        Field Original Value New Value
        Priority Critical [ 2 ] Major [ 3 ]
        stack made changes -
        Fix Version/s 0.92.1 [ 12318551 ]
        Fix Version/s 0.92.0 [ 12314223 ]
        Fix Version/s 0.94.0 [ 12316419 ]
        stack made changes -
        Fix Version/s 0.92.2 [ 12319888 ]
        Fix Version/s 0.92.1 [ 12318551 ]
        stack made changes -
        Fix Version/s 0.92.3 [ 12321692 ]
        Fix Version/s 0.92.2 [ 12319888 ]
        Hide
        Jean-Daniel Cryans added a comment -

        Table locking takes care of this, closing.

        Show
        Jean-Daniel Cryans added a comment - Table locking takes care of this, closing.
        Jean-Daniel Cryans made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Invalid [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        534d 20h 1 Jean-Daniel Cryans 03/May/13 21:22

          People

          • Assignee:
            Unassigned
            Reporter:
            Jean-Daniel Cryans
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development