Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-1852

HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Later
    • 0.20.0
    • None
    • Client
    • None
    • OSX/Linux

    Description

      Create 3 tables (preferably on a clean cluster to avoid other potential issues)
      Split .META.
      From the master web inteface try to click on the first table - the page will not load and refreshing the main page will show lots of requests.

      HBaseAdmin.testTableOnlineState will get into an infinite loop if .META. has more than one region. This method should probably use a regular scanner and an iterator.

      I guess this issue would also happen with a single .META. region if rrs = getRegionServerWithRetries(s) would get an UnknownScannerException (from a scanner lease expiration on the region server), but I haven't double checked this.

      I attached a java method that you can use as a reference to reproduce the behavior. However, since it calls split() on .META. and that is async, you might have to run it twice and check that .META. actually splitted before getting into the infinite loop.

      Attachments

        1. HBaseMetaSplitIssues.java
          1 kB
          Cosmin Lehene
        2. 0001-Fixed-.META.-split-bug.patch
          3 kB
          Cosmin Lehene
        3. HBASE-1852-unittest1.patch
          4 kB
          Jonathan Gray
        4. 0001-Fixed-.META.-split-bug-v2.patch
          3 kB
          Cosmin Lehene

        Activity

          People

            Unassigned Unassigned
            clehene Cosmin Lehene
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified