You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Sebastien Rainville (JIRA)" <ji...@apache.org> on 2008/07/18 12:58:32 UTC

[jira] Created: (HBASE-753) Can't replace the data of a particular table by copying its files on HDFS

Can't replace the data of a particular table by copying its files on HDFS
-------------------------------------------------------------------------

                 Key: HBASE-753
                 URL: https://issues.apache.org/jira/browse/HBASE-753
             Project: Hadoop HBase
          Issue Type: Bug
    Affects Versions: 0.2.0
            Reporter: Sebastien Rainville
            Priority: Minor


I have 2 instances of hbase running. One is *production* and the other one is *development*. I want to be able to replace the content of a table (not all of them) in development by the content in production. Both of my environments are running hbase-trunk (a snapshot of july 9th). In hbase-0.1.x we used to be able to do that by simply stopping both hbases, copying the files of the required table directly from one HDFS to the other and then restart hbase.

It doesn't work anymore. In hbase shell I do see the table but it's empty.

There are no errors. I looked at the master's log and the regionservers logs as well, all in DEBUG mode... but I saw nothing interesting. I do see that the regions for that table are being assigned. So, if there's more than 1 region it means that it knows that the table isn't empty.

So, I have to copy all the tables and then it's fine. It's not practical though.

My guess is that .META. is holding old information about that table that doesn't get updated when I replace the table's data.


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


[jira] Updated: (HBASE-753) Safe copy of tables using hdfs copy (WAS -> Can't replace the data of a particular table by copying its files on HDFS)

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

stack updated HBASE-753:
------------------------

    Issue Type: New Feature  (was: Bug)
       Summary: Safe copy of tables using hdfs copy (WAS -> Can't replace the data of a particular table by copying its files on HDFS)  (was: Can't replace the data of a particular table by copying its files on HDFS)

Made it into a feature request rather than bug; updated the summary.

> Safe copy of tables using hdfs copy (WAS -> Can't replace the data of a particular table by copying its files on HDFS)
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-753
>                 URL: https://issues.apache.org/jira/browse/HBASE-753
>             Project: Hadoop HBase
>          Issue Type: New Feature
>    Affects Versions: 0.2.0
>            Reporter: Sebastien Rainville
>            Priority: Minor
>
> I have 2 instances of hbase running. One is *production* and the other one is *development*. I want to be able to replace the content of a table (not all of them) in development by the content in production. Both of my environments are running hbase-trunk (a snapshot of july 9th). In hbase-0.1.x we used to be able to do that by simply stopping both hbases, copying the files of the required table directly from one HDFS to the other and then restart hbase.
> It doesn't work anymore. In hbase shell I do see the table but it's empty.
> There are no errors. I looked at the master's log and the regionservers logs as well, all in DEBUG mode... but I saw nothing interesting. I do see that the regions for that table are being assigned. So, if there's more than 1 region it means that it knows that the table isn't empty.
> So, I have to copy all the tables and then it's fine. It's not practical though.
> My guess is that .META. is holding old information about that table that doesn't get updated when I replace the table's data.

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


[jira] Commented: (HBASE-753) Can't replace the data of a particular table by copying its files on HDFS

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

Sebastien Rainville commented on HBASE-753:
-------------------------------------------

Let's migrate it to be a feature request. It's been very useful (when it was working in 0.1.x) to us for reducing the development time of our application.

> Can't replace the data of a particular table by copying its files on HDFS
> -------------------------------------------------------------------------
>
>                 Key: HBASE-753
>                 URL: https://issues.apache.org/jira/browse/HBASE-753
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.2.0
>            Reporter: Sebastien Rainville
>            Priority: Minor
>
> I have 2 instances of hbase running. One is *production* and the other one is *development*. I want to be able to replace the content of a table (not all of them) in development by the content in production. Both of my environments are running hbase-trunk (a snapshot of july 9th). In hbase-0.1.x we used to be able to do that by simply stopping both hbases, copying the files of the required table directly from one HDFS to the other and then restart hbase.
> It doesn't work anymore. In hbase shell I do see the table but it's empty.
> There are no errors. I looked at the master's log and the regionservers logs as well, all in DEBUG mode... but I saw nothing interesting. I do see that the regions for that table are being assigned. So, if there's more than 1 region it means that it knows that the table isn't empty.
> So, I have to copy all the tables and then it's fine. It's not practical though.
> My guess is that .META. is holding old information about that table that doesn't get updated when I replace the table's data.

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


[jira] Commented: (HBASE-753) Safe copy of tables using hdfs copy (WAS -> Can't replace the data of a particular table by copying its files on HDFS)

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

stack commented on HBASE-753:
-----------------------------

Should be a means of having region metadata dumped out into individual regions.  Once there, an HDFS copy could be done.  Restore would read the metadata from the region subdirs and repopulate the .META.

> Safe copy of tables using hdfs copy (WAS -> Can't replace the data of a particular table by copying its files on HDFS)
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-753
>                 URL: https://issues.apache.org/jira/browse/HBASE-753
>             Project: Hadoop HBase
>          Issue Type: New Feature
>    Affects Versions: 0.2.0
>            Reporter: Sebastien Rainville
>            Priority: Minor
>
> I have 2 instances of hbase running. One is *production* and the other one is *development*. I want to be able to replace the content of a table (not all of them) in development by the content in production. Both of my environments are running hbase-trunk (a snapshot of july 9th). In hbase-0.1.x we used to be able to do that by simply stopping both hbases, copying the files of the required table directly from one HDFS to the other and then restart hbase.
> It doesn't work anymore. In hbase shell I do see the table but it's empty.
> There are no errors. I looked at the master's log and the regionservers logs as well, all in DEBUG mode... but I saw nothing interesting. I do see that the regions for that table are being assigned. So, if there's more than 1 region it means that it knows that the table isn't empty.
> So, I have to copy all the tables and then it's fine. It's not practical though.
> My guess is that .META. is holding old information about that table that doesn't get updated when I replace the table's data.

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


[jira] Commented: (HBASE-753) Can't replace the data of a particular table by copying its files on HDFS

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

stack commented on HBASE-753:
-----------------------------

Sebastien:  Can we close this as won't fix or should we instead migrate this issue to be a feature request?  "Make it so can copy tables in hdfs"?

> Can't replace the data of a particular table by copying its files on HDFS
> -------------------------------------------------------------------------
>
>                 Key: HBASE-753
>                 URL: https://issues.apache.org/jira/browse/HBASE-753
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.2.0
>            Reporter: Sebastien Rainville
>            Priority: Minor
>
> I have 2 instances of hbase running. One is *production* and the other one is *development*. I want to be able to replace the content of a table (not all of them) in development by the content in production. Both of my environments are running hbase-trunk (a snapshot of july 9th). In hbase-0.1.x we used to be able to do that by simply stopping both hbases, copying the files of the required table directly from one HDFS to the other and then restart hbase.
> It doesn't work anymore. In hbase shell I do see the table but it's empty.
> There are no errors. I looked at the master's log and the regionservers logs as well, all in DEBUG mode... but I saw nothing interesting. I do see that the regions for that table are being assigned. So, if there's more than 1 region it means that it knows that the table isn't empty.
> So, I have to copy all the tables and then it's fine. It's not practical though.
> My guess is that .META. is holding old information about that table that doesn't get updated when I replace the table's data.

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


[jira] Commented: (HBASE-753) Can't replace the data of a particular table by copying its files on HDFS

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

Jim Kellerman commented on HBASE-753:
-------------------------------------

You can't just copy a table's directories and expect it to work. It might if all the regions are the same, but if a region has split, data in the target META won't  have this information.

Maybe when we get hbase-fsck you'll be able to do it if you run the fsck after the copy and before starting the cluster. Until that time, you'll either get lucky and it will work, or it won't.

> Can't replace the data of a particular table by copying its files on HDFS
> -------------------------------------------------------------------------
>
>                 Key: HBASE-753
>                 URL: https://issues.apache.org/jira/browse/HBASE-753
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.2.0
>            Reporter: Sebastien Rainville
>            Priority: Minor
>
> I have 2 instances of hbase running. One is *production* and the other one is *development*. I want to be able to replace the content of a table (not all of them) in development by the content in production. Both of my environments are running hbase-trunk (a snapshot of july 9th). In hbase-0.1.x we used to be able to do that by simply stopping both hbases, copying the files of the required table directly from one HDFS to the other and then restart hbase.
> It doesn't work anymore. In hbase shell I do see the table but it's empty.
> There are no errors. I looked at the master's log and the regionservers logs as well, all in DEBUG mode... but I saw nothing interesting. I do see that the regions for that table are being assigned. So, if there's more than 1 region it means that it knows that the table isn't empty.
> So, I have to copy all the tables and then it's fine. It's not practical though.
> My guess is that .META. is holding old information about that table that doesn't get updated when I replace the table's data.

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