You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Cosmin Lehene (JIRA)" <ji...@apache.org> on 2009/09/18 19:36:16 UTC

[jira] Created: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

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

                 Key: HBASE-1852
                 URL: https://issues.apache.org/jira/browse/HBASE-1852
             Project: Hadoop HBase
          Issue Type: Bug
          Components: client
    Affects Versions: 0.20.0
         Environment: OSX/Linux
            Reporter: Cosmin Lehene
             Fix For: 0.20.1


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. 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758391#action_12758391 ] 

stack commented on HBASE-1852:
------------------------------

Maybe we should just punt this out of 0.20.1.  Sounds like Cosmin still has issues when splitting a .META.  Lets allow that 0.20.1 doesn't have to have a fix for more than on region in .META. table (you ok w/ that cosmin?) and fix it properly in 0.21?  In fact, let me move this out.  Cosmin, if you think it belongs in 0.20.1... move it back in again.

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.21.0
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "Cosmin Lehene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758412#action_12758412 ] 

Cosmin Lehene commented on HBASE-1852:
--------------------------------------

+1
I'm fine with it on 0.21. I believe there are other issues with .META. split as well. Either way you need a few petabytes of data to require a .META. split so we should be fine for now :) 

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.21.0
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "Jonathan Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758384#action_12758384 ] 

Jonathan Gray commented on HBASE-1852:
--------------------------------------

Does that test pass w/ the patch in?  Should figure a way to get a test in there if possible?

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758294#action_12758294 ] 

stack commented on HBASE-1852:
------------------------------

I'm trying the patch now.  It looks good.  Cosmin, what you think of Jon's test?

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "Jonathan Gray (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Gray updated HBASE-1852:
---------------------------------

    Attachment: HBASE-1852-unittest1.patch

Unit test that reproduces something, not sure what.  I'm actually able to perform Gets on all the tables, but checking if they are enabled doesn't work.

Also, it seems that META always puts everything in the bottom half, so the top region is actually empty.  Unit test creates 5 tables, then splits META, all 5 entries go to second META region.

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "Cosmin Lehene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Cosmin Lehene updated HBASE-1852:
---------------------------------

    Attachment: 0001-Fixed-.META.-split-bug-v2.patch

Attaching new patch.

Use the define for .META. table name from HConstants.
Close scanner in final clause

The previous scanner was already set up to only get HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12757482#action_12757482 ] 

stack commented on HBASE-1852:
------------------------------

@cosmine

Oh, weird.  HCM has an HTable (if only for a .META. table).

Should use the define for .META. table name from HConstants.

The Scan should be be set up to only get HConstants.CATALOG_FAMILY,  HConstants.REGIONINFO_QUALIFIER, rather than ask for all on the row and then extract the wanted column from the Result client-side.

Why not close of the scanner in a finally clause?

Do all tests pass?  If so, then this maybe the way to go (I'm in favor of moving to HTable everywhere we have an HCM inside in servers currently though this is a different spin on it... an HTable has an HCM and in the HCM is an HTable ...).

(@jgray, you are fast at writing code).




> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "Jonathan Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758392#action_12758392 ] 

Jonathan Gray commented on HBASE-1852:
--------------------------------------

I'm +1 for fixing split META in 0.21... It needs to include a solid set of tests and these kinds of tests are a good candidate for our new, fast unit tests yet to be implemented :)

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.21.0
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "Cosmin Lehene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Cosmin Lehene updated HBASE-1852:
---------------------------------

    Attachment: HBaseMetaSplitIssues.java

This can be used as a reference to reproduce the behavior. 

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-1852:
-------------------------

    Fix Version/s:     (was: 0.20.1)
                   0.21.0

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.21.0
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758318#action_12758318 ] 

stack commented on HBASE-1852:
------------------------------

So, all unit tests pass and test looks good.

@Jon, I was going to apply Cosmin's patch but not your test?

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug-v2.patch, 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

Posted by "Cosmin Lehene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Cosmin Lehene updated HBASE-1852:
---------------------------------

    Attachment: 0001-Fixed-.META.-split-bug.patch

replace the testTableOnlineState implementation in HConnectionManager with a regular scanner + iterator. 

> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.