You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Pritam Damania (Created) (JIRA)" <ji...@apache.org> on 2011/12/01 02:43:39 UTC

[jira] [Created] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

HTable initialization looks for EMPTY_START_ROW
-----------------------------------------------

                 Key: HBASE-4921
                 URL: https://issues.apache.org/jira/browse/HBASE-4921
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.90.4
            Reporter: Pritam Damania


The HTable initialization does something like this : 

<code>this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);</code>

What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.

Disabling the first region is like disabling the entire table from a client perspective.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

stack commented on HBASE-4921:
------------------------------

@Pritam I think that line an old one and its purpose is yes a check the table can be reached.  Maybe this shouldn't be in HTable constructor at all?   In other words, let the table instance construct w/o going to the cluster.  Its probably a pretty radical change -- my guess is that a bunch of unit tests would start breaking -- but makes sense.
                
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

Pritam Damania commented on HBASE-4921:
---------------------------------------

@Jean-Daniel Cryans

Here is the stack trace : 

Exception in thread "main" org.apache.hadoop.hbase.client.RegionOfflineException: region offline: VerificationTest_DummyTable,,1322854092301.58a6099fa8fd53eb23c6329cf9fc46fe.
	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:839)
	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:694)
	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:661)
	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:137)
                
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

stack commented on HBASE-4921:
------------------------------

I think you have a case Pritam -- especially if you never get the first region back for whatever reason.  It would be wrong for locateRegion to return a region that did not 'have' the 'special' first row so maybe we should be doing something else here when it comes to table operations.
                
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

Posted by "Jean-Daniel Cryans (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161754#comment-13161754 ] 

Jean-Daniel Cryans commented on HBASE-4921:
-------------------------------------------

My understanding is that this is used to check the existence of the table, whether it's disabled or not shouldn't really matter. This is not the only place where the region offline exception is thrown all the way up, admin.split does the same thing.

What exactly was the stack trace you saw Pritam?
                
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

Pritam Damania updated HBASE-4921:
----------------------------------

    Description: 
The HTable initialization does something like this : 

{code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}

What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.

Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

  was:
The HTable initialization does something like this : 

{code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}

What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.

Disabling the first region is like disabling the entire table from a client perspective.

    
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

Ted Yu commented on HBASE-4921:
-------------------------------

@Pritam:
Can you provide a patch and let us know the result of running through test suite ?

Thanks
                
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

Pritam Damania updated HBASE-4921:
----------------------------------

    Description: 
The HTable initialization does something like this : 

{code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}

What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.

Disabling the first region is like disabling the entire table from a client perspective.

  was:
The HTable initialization does something like this : 

<code>this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);</code>

What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.

Disabling the first region is like disabling the entire table from a client perspective.

    
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

Pritam Damania commented on HBASE-4921:
---------------------------------------

@stack : Do you know what the purpose of that line is ? Is it some kind of sanity check ? If it is what is it trying to verify, whether we can get to some region of the table ? Or can we just do away with that line ?
                
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4921) HTable initialization looks for EMPTY_START_ROW

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

Jesse Yates updated HBASE-4921:
-------------------------------

    Affects Version/s: 0.96.0
    
> HTable initialization looks for EMPTY_START_ROW
> -----------------------------------------------
>
>                 Key: HBASE-4921
>                 URL: https://issues.apache.org/jira/browse/HBASE-4921
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.4, 0.96.0
>            Reporter: Pritam Damania
>
> The HTable initialization does something like this : 
> {code}this.connection.locateRegion(tableName, HConstants.EMPTY_START_ROW);{code}
> What is the rationale behind this ? What would happen if this region is in flight ? I ran into a problem where I disabled the first region of the table and now I can't create an HTable instance to this table.
> Disabling the first region is like disabling the entire table from a client perspective. I feel this is not the correct behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira