You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Toshihiro Suzuki (JIRA)" <ji...@apache.org> on 2018/02/05 09:18:00 UTC

[jira] [Updated] (HBASE-19893) restore_snapshot is broken in master branch

     [ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Toshihiro Suzuki updated HBASE-19893:
-------------------------------------
    Description: 
When I was investigating HBASE-19850, I found restore_snapshot didn't work in master branch.

 

Steps to reproduce are as follows:

1. Create a table
{code:java}
create "test", "cf"
{code}
2. Load data (2000 rows) to the table
{code:java}
(0...2000).each{|i| put "test", "row#{i}", "cf:col", "val"}
{code}
3. Split the table
{code:java}
split "test"
{code}
4. Take a snapshot
{code:java}
snapshot "test", "snap"
{code}
5. Load more data (2000 rows) to the table and split the table agin
{code:java}
(2000...4000).each{|i| put "test", "row#{i}", "cf:col", "val"}
split "test"
{code}
6. Restore the table from the snapshot 
{code:java}
disable "test"
restore_snapshot "snap"
enable "test"
{code}
7. Scan the table
{code:java}
scan "test"
{code}
However, this scan returns only 244 rows (it should return 2000 rows) like the following:
{code:java}
hbase(main):038:0> scan "test"
ROW COLUMN+CELL
 row78 column=cf:col, timestamp=1517298307049, value=val
....
  row999 column=cf:col, timestamp=1517298307608, value=val
244 row(s)
Took 0.1500 seconds
{code}
 

Also, the restored table should have 2 online regions but it has 3 online regions.

 

  was:
When I was investigating HBASE-19850, I found restore_snapshot didn't work in master branch.

 

Steps to reproduce are as follows:

1. Create a table
{code:java}
create "test", "cf"
{code}
2. Load data (2000 rows) to the table
{code:java}
(0...2000).each{|i| put "test", "row#{i}", "cf:col", "val"}
{code}
3. Split the table
{code:java}
split "test"
{code}
4. Take a snapshot
{code:java}
snapshot "test", "snap"
{code}
5. Load more data (2000 rows) to the table and split the table agin
{code:java}
(2000...4000).each{|i| put "test", "row#{i}", "cf:col", "val"}
split "test"
{code}
6. Restore the table from the snapshot 
{code:java}
disable "test"
restore_snapshot "snap"
enable "test"
{code}
8. Scan the table
{code:java}
scan "test"
{code}
However, this scan returns only 244 rows (it should return 2000 rows) like the following:
{code:java}
hbase(main):038:0> scan "test"
ROW COLUMN+CELL
 row78 column=cf:col, timestamp=1517298307049, value=val
....
  row999 column=cf:col, timestamp=1517298307608, value=val
244 row(s)
Took 0.1500 seconds
{code}
 

Also, the restored table should have 2 online regions but it has 3 online regions.

 


> restore_snapshot is broken in master branch
> -------------------------------------------
>
>                 Key: HBASE-19893
>                 URL: https://issues.apache.org/jira/browse/HBASE-19893
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Toshihiro Suzuki
>            Assignee: Toshihiro Suzuki
>            Priority: Critical
>
> When I was investigating HBASE-19850, I found restore_snapshot didn't work in master branch.
>  
> Steps to reproduce are as follows:
> 1. Create a table
> {code:java}
> create "test", "cf"
> {code}
> 2. Load data (2000 rows) to the table
> {code:java}
> (0...2000).each{|i| put "test", "row#{i}", "cf:col", "val"}
> {code}
> 3. Split the table
> {code:java}
> split "test"
> {code}
> 4. Take a snapshot
> {code:java}
> snapshot "test", "snap"
> {code}
> 5. Load more data (2000 rows) to the table and split the table agin
> {code:java}
> (2000...4000).each{|i| put "test", "row#{i}", "cf:col", "val"}
> split "test"
> {code}
> 6. Restore the table from the snapshot 
> {code:java}
> disable "test"
> restore_snapshot "snap"
> enable "test"
> {code}
> 7. Scan the table
> {code:java}
> scan "test"
> {code}
> However, this scan returns only 244 rows (it should return 2000 rows) like the following:
> {code:java}
> hbase(main):038:0> scan "test"
> ROW COLUMN+CELL
>  row78 column=cf:col, timestamp=1517298307049, value=val
> ....
>   row999 column=cf:col, timestamp=1517298307608, value=val
> 244 row(s)
> Took 0.1500 seconds
> {code}
>  
> Also, the restored table should have 2 online regions but it has 3 online regions.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)