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

        No work has yet been logged on this issue.

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development