[ 
https://issues.apache.org/jira/browse/HBASE-4748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13145288#comment-13145288
 ] 

ramkrishna.s.vasudevan commented on HBASE-4748:
-----------------------------------------------

Pls find the analysis.  Correct me if am wrong.  
-> This defect is not related to alter table.(I got it when i was trying 
something with alter table and so thought it is related to alter table 
functionality)
-> When we restart the master we issue split logs to RS.(Note that RS was also 
restarted) 
-> Before RS could actually complete the log splitting we carry on with ROOT 
and META assignment.
-> AFter assigning root and meta, in AssignmentManager.joinCluster() we try to 
rebuild user regions and from meta scan we dont get the table and its regions.
Hence the table information is lost.
Another observation is
If we restart the regionserver once again (to see if the problem rectifies) and 
this time split logs gets completed and then root and meta tables are assigned 
then
{code}
      HRegionInfo regionInfo = region.getFirst();
      ServerName regionLocation = region.getSecond();
      String tableName = regionInfo.getTableNameAsString();
{code}
Here regionInfo comes as null and hence in 
{code}
     String tableName = regionInfo.getTableNameAsString();
{code}
we get null pointer exception and master aborts.

I reproduced the problem in 0.92 and with 1 master and 1 RS. Will dig in more 
into this. 
                
> Restarting the cluster after alter table (online) completely loses the table 
> information
> ----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4748
>                 URL: https://issues.apache.org/jira/browse/HBASE-4748
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>
> 1. Start a cluster.
> 2. Alter a table
> 3. Restart the master using ./hbase-daemon.sh restart master
> 4. Kill the RS after master restarts.
> 5. Start RS again.
> 6. No table operations can be performed on the table that was altered but 
> admin.listTables() is able to list the altered table.

--
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

        

Reply via email to