[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16880133#comment-16880133 ] Hudson commented on HBASE-19893: Results for branch branch-2.1 [build #1342 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1342/]: (x) *{color:red}-1 overall{color}* details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1342//General_Nightly_Build_Report/] (x) {color:red}-1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1342//JDK8_Nightly_Build_Report_(Hadoop2)/] (/) {color:green}+1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1342//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.3.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16880126#comment-16880126 ] Hudson commented on HBASE-19893: Results for branch branch-2.0 [build #1735 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/1735/]: (x) *{color:red}-1 overall{color}* details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/1735//General_Nightly_Build_Report/] (x) {color:red}-1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/1735//JDK8_Nightly_Build_Report_(Hadoop2)/] (/) {color:green}+1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/1735//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.3.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16876370#comment-16876370 ] Sakthi commented on HBASE-19893: Thanks [~brfrn169] & [~stack]. Will open the backport jiras. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.3.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16874836#comment-16874836 ] Toshihiro Suzuki commented on HBASE-19893: -- [~jatsakthi] Not sure the reason actually.. I think we can backport this to all 2.x branches. Please go ahead and open Jira for the backports. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.3.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16874660#comment-16874660 ] stack commented on HBASE-19893: --- [~brfrn169] See [~jatsakthi] question above sir. Perhaps branch-2.2 and less do not have this issue (but fix version said 2.2.0 until I changed it just now to include master branch). Thanks. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 2.2.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16874545#comment-16874545 ] Sakthi commented on HBASE-19893: Any reason, why this wasn't backported to all 2.x branches? Unless any objections, I'll open Jira for the backports. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 2.2.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16552023#comment-16552023 ] Hudson commented on HBASE-19893: Results for branch master [build #404 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/404/]: (x) *{color:red}-1 overall{color}* details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://builds.apache.org/job/HBase%20Nightly/job/master/404//General_Nightly_Build_Report/] (/) {color:green}+1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://builds.apache.org/job/HBase%20Nightly/job/master/404//JDK8_Nightly_Build_Report_(Hadoop2)/] (x) {color:red}-1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://builds.apache.org/job/HBase%20Nightly/job/master/404//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 2.2.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551876#comment-16551876 ] Hudson commented on HBASE-19893: Results for branch branch-2 [build #1010 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1010/]: (/) *{color:green}+1 overall{color}* details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1010//General_Nightly_Build_Report/] (/) {color:green}+1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1010//JDK8_Nightly_Build_Report_(Hadoop2)/] (/) {color:green}+1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/1010//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 2.2.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551746#comment-16551746 ] Toshihiro Suzuki commented on HBASE-19893: -- Thank you for reviewing and pushing the path. [~yuzhih...@gmail.com] > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 2.2.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551721#comment-16551721 ] Ted Yu commented on HBASE-19893: I ran TestReplicationDroppedTables locally with patch v6 before pushing - it passed. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Fix For: 2.2.0 > > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551700#comment-16551700 ] Toshihiro Suzuki commented on HBASE-19893: -- I don't think the test failure in the last QA is related to the patch. If you are ok, could you please push it? [~yuzhih...@gmail.com] > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551634#comment-16551634 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 23s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 59s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 44s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 10s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 26s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 11s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 33s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 44s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 44s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 10s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 24s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 9m 44s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 21s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}165m 38s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 26s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}206m 26s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.replication.TestReplicationDroppedTables | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12932543/HBASE-19893.master.006.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 4838e582f55f 4.4.0-130-generic #156-Ubuntu SMP Thu Jun 14 08:53:28 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 2eee7a3f8b | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_171 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/13711/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/13711/testReport/ | | Max. process+thread count | 4802 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551581#comment-16551581 ] Toshihiro Suzuki commented on HBASE-19893: -- [~yuzhih...@gmail.com] I just attached a new patch for your review. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.006.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551503#comment-16551503 ] Ted Yu commented on HBASE-19893: Sounds good. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551501#comment-16551501 ] Toshihiro Suzuki commented on HBASE-19893: -- [~yuzhih...@gmail.com] {quote} The above code occurs twice in deleteRegionsFromInMemoryStates. Can you put them in private method to reduce code duplication ? {quote} The code actually isn't twice in deleteRegionsFromInMemoryStates(). The second part uses deleteRegion(), not deleteRegions(). {quote} Why do you need the new way of retrieving regionInfo ? {quote} We need it because we should restore the regionInfo from the snapshot manifests file. The exiting regionInfo instance is from the current state from HDFS. It can be different from a restored state we want. {quote} The above method is only used locally - it doesn't have to be public. {quote} Yes, I can modify it. If you agree with the above, I'll attatch a new patch. Thanks. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551491#comment-16551491 ] Toshihiro Suzuki commented on HBASE-19893: -- Thank you for reviewing [~yuzhih...@gmail.com]. I'll fix the patch and attache a new patch. {quote} BTW you used double negation in your above comment - probably not what you intended. {quote} Yeah, I wanted to say: "I don't think the test failure of TestDLSFSHLog.testRecoveredEdits() is related to the patch." > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551481#comment-16551481 ] Ted Yu commented on HBASE-19893: {code} +env.getAssignmentManager().getRegionStates().deleteRegions(regionInfos); +env.getMasterServices().getServerManager().removeRegions(regionInfos); +if (fnm != null) { + fnm.deleteFavoredNodesForRegions(regionInfos); +} {code} The above code occurs twice in {{deleteRegionsFromInMemoryStates}}. Can you put them in private method to reduce code duplication ? {code} - metaChanges.addRegionToRestore(regionInfo); + metaChanges.addRegionToRestore(ProtobufUtil.toRegionInfo(regionManifests.get(regionName) + .getRegionInfo())); {code} Why do you need the new way of retrieving regionInfo ? {code} + public List getRegions(TableName tableName) throws IOException { {code} The above method is only used locally - it doesn't have to be public. BTW you used double negation in your above comment - probably not what you intended. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16551454#comment-16551454 ] Toshihiro Suzuki commented on HBASE-19893: -- I don't think the test failure of TestDLSFSHLog. testRecoveredEdits() is not related to the patch and I ran the test successfully in my local env. Could you please take a look at the patch? [~yuzhih...@gmail.com] If you are ok, could you please push it? > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16547177#comment-16547177 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 3m 54s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 57s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 41s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 11s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 28s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 8s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 42s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 42s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 9s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 23s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 10m 21s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 18s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}166m 25s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 20s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}211m 7s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12931948/HBASE-19893.master.005.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 4697ef39259b 4.4.0-130-generic #156-Ubuntu SMP Thu Jun 14 08:53:28 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 2997b6d071 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_171 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/13667/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/13667/testReport/ | | Max. process+thread count | 4644 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/13667/console | | Powered by | Apache Yetus
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16546976#comment-16546976 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 28s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 9m 29s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 18s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 35s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 39s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 34s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 51s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 8s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 8s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 27s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 10s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 11m 59s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 19s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}147m 27s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 27s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}200m 52s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.regionserver.TestSplitTransactionOnCluster | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12931948/HBASE-19893.master.005.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux e533c622722d 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 08:52:28 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 2997b6d071 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_171 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/13662/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/13662/testReport/ | | Max. process+thread count | 4445 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | |
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16546904#comment-16546904 ] Hadoop QA commented on HBASE-19893: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 0s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 39s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 19s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 8s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 3s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 37s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 37s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 37s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 17s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 9s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 7m 38s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 32s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}119m 19s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 18s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}155m 14s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12931948/HBASE-19893.master.005.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux asf902.gq1.ygridcore.net 3.13.0-143-generic #192-Ubuntu SMP Tue Feb 27 10:45:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build@2/component/dev-support/hbase-personality.sh | | git revision | master / 2997b6d | | maven | version: Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+) | | Default Java | 1.8.0_172 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/13659/testReport/ | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/13659/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project:
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16546670#comment-16546670 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s{color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} docker {color} | {color:red}419m 54s{color} | {color:red} Docker failed to build yetus/hbase:b002b0b. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12931892/HBASE-19893.master.005.patch | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/13650/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16546170#comment-16546170 ] Ted Yu commented on HBASE-19893: Handling failure of TestRestoreSnapshotFromClientWithRegionReplicas can be done in another JIRA. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16546122#comment-16546122 ] Toshihiro Suzuki commented on HBASE-19893: -- One thing, according to the log, it looks like one of the RSs went down during splitting the region. It might be related to the snapshot failure. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16546113#comment-16546113 ] Toshihiro Suzuki commented on HBASE-19893: -- I just re-uploaded the latest patch to run QA again. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16546111#comment-16546111 ] Toshihiro Suzuki commented on HBASE-19893: -- I analyzed the test failure of TestRestoreSnapshotFromClientWithRegionReplicas: https://issues.apache.org/jira/browse/HBASE-19893?focusedCommentId=16468496=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16468496 As the QA files were already deleted, I just uploaded the log of the failed test [^org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt]. The test failed because the snapshot validation failed. The expected number of snapshotted regions was 8 but the actual number was 7. {code} 2018-05-09 05:39:58,418 ERROR [MASTER_TABLE_OPERATIONS-master/dbf4832ee95b:0-0] snapshot.TakeSnapshotHandler(215): Failed taking snapshot { ss=snaptb1-1525844378682 table=testOnlineSnapshotAfterSplittingRegions-1525844378682 type=FLUSH } due to exception:Regions moved during the snapshot '{ ss=snaptb1-1525844378682 table=testOnlineSnapshotAfterSplittingRegions-1525844378682 type=FLUSH }'. expected=8 snapshotted=7. org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException: Regions moved during the snapshot '{ ss=snaptb1-1525844378682 table=testOnlineSnapshotAfterSplittingRegions-1525844378682 type=FLUSH }'. expected=8 snapshotted=7. at org.apache.hadoop.hbase.master.snapshot.MasterSnapshotVerifier.verifyRegions(MasterSnapshotVerifier.java:205) at org.apache.hadoop.hbase.master.snapshot.MasterSnapshotVerifier.verifySnapshot(MasterSnapshotVerifier.java:119) at org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler.process(TakeSnapshotHandler.java:202) at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) {code} It looks like snapshotting the split parent region (9d446fdf76181457d16ec2690b932729) failed for some reason. {code} 2018-05-09 05:39:58,418 ERROR [MASTER_TABLE_OPERATIONS-master/dbf4832ee95b:0-0] snapshot.MasterSnapshotVerifier(197): No snapshot region directory found for region:{ENCODED => 9d446fdf76181457d16ec2690b932729, NAME => 'testOnlineSnapshotAfterSplittingRegions-1525844378682,,1525844378727.9d446fdf76181457d16ec2690b932729.', STARTKEY => '', ENDKEY => '1'} {code} And I found from the above log that the RegionInfo of the split parent region didn't have "OFFLINE => true" and "SPLIT => true", meaning updating the offline flag and split flag failed, although splitting the region completed. I think that's why snapshotting the split parent region failed. Actually, I haven't figure out this root cause of this test failure yet, but I don't think it's related to the patch in this Jira. I'll file this test failure in another Jira and I think we can commit the patch. What do you think? [~yuzhih...@gmail.com] Thanks. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch, > HBASE-19893.master.005.patch, > org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClientWithRegionReplicas-output.txt > > > 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
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16538289#comment-16538289 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 19s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 25s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 8s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 15s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 41s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 17s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 0s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 49s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 49s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 5s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 29s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 10m 55s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}197m 53s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 18s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}241m 20s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.replication.TestSyncReplicationStandbyKillMaster | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12930946/HBASE-19893.master.005.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux ffa286333c19 4.4.0-130-generic #156-Ubuntu SMP Thu Jun 14 08:53:28 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build@2/component/dev-support/hbase-personality.sh | | git revision | master / d7561cee50 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_171 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/13565/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/13565/testReport/ | | Max. process+thread count | 5241 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server |
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16538034#comment-16538034 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 20s{color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 3s{color} | {color:red} HBASE-19893 does not apply to master. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/0.7.0/precommit-patchnames for help. {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12930944/19893.master.004.patch | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/13564/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16537984#comment-16537984 ] Toshihiro Suzuki commented on HBASE-19893: -- I just uploaded the latest patch to rerun QA. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16469892#comment-16469892 ] Toshihiro Suzuki commented on HBASE-19893: -- Sure [~yuzhih...@gmail.com]. I'll look into the failure. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > HBASE-19893.master.001.patch, HBASE-19893.master.002.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16468867#comment-16468867 ] Ted Yu commented on HBASE-19893: Please download the test output of the failed test and analyze it. To my knowledge master build for hadoop2 has been stable. Thanks > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, 19893.master.004.patch, > HBASE-19893.master.001.patch, HBASE-19893.master.002.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16468690#comment-16468690 ] Hadoop QA commented on HBASE-19893: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 19s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 32s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 8s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 25s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 22s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 20s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 46s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 1s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 0s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 25s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 31s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 17m 47s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 31s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 37s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}119m 52s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 18s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}173m 58s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12922603/19893.master.004.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 9f0b52f5b0fd 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / c51e9adc78 | | maven | version: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) | | Default Java | 1.8.0_171 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/12765/testReport/ | | Max. process+thread count | 4071 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/12765/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > restore_snapshot is broken in
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16468515#comment-16468515 ] Toshihiro Suzuki commented on HBASE-19893: -- {code} Caused by: org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException via Failed taking snapshot { ss=snaptb1-1525844378682 table=testOnlineSnapshotAfterSplittingRegions-1525844378682 type=FLUSH } due to exception:Regions moved during the snapshot '{ ss=snaptb1-1525844378682 table=testOnlineSnapshotAfterSplittingRegions-1525844378682 type=FLUSH }'. expected=8 snapshotted=7.:org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException: Regions moved during the snapshot '{ ss=snaptb1-1525844378682 table=testOnlineSnapshotAfterSplittingRegions-1525844378682 type=FLUSH }'. expected=8 snapshotted=7. {code} It looks like regions moved during the snapshot. I wan't able to reproduce the unit test failure in the last QA run locally. Attaching the patch again to rerun QA. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16468496#comment-16468496 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 19s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 56s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 44s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 15s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 50s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 55s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 41s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 42s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 42s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 53s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 14m 47s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 1s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 28s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}112m 17s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 28s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}158m 28s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12922591/19893.master.004.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux dbf4832ee95b 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / c51e9adc78 | | maven | version: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) | | Default Java | 1.8.0_171 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/12763/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/12763/testReport/ | | Max. process+thread count | 3626 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/12763/console | | Powered by | Apache Yetus
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16468311#comment-16468311 ] Ted Yu commented on HBASE-19893: Rerun QA since it has been 3 weeks. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: 19893.master.004.patch, HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16468305#comment-16468305 ] Toshihiro Suzuki commented on HBASE-19893: -- Ping [~yuzhih...@gmail.com] [~ram_krish]. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16456516#comment-16456516 ] Toshihiro Suzuki commented on HBASE-19893: -- Ping [~yuzhih...@gmail.com] [~ram_krish]. Could you please commit the patch? > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16442210#comment-16442210 ] Toshihiro Suzuki commented on HBASE-19893: -- Thank you for reviewing [~yuzhih...@gmail.com] [~ram_krish]. Could you please commit the patch? Thanks. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16440409#comment-16440409 ] ramkrishna.s.vasudevan commented on HBASE-19893: LGTM. Since this patch solves [~nihaljain.cs]'s issue also I think this is good to go. Thanks [~brfrn169]. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435545#comment-16435545 ] Hadoop QA commented on HBASE-19893: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 20s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 59s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 52s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 17s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 56s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 59s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 43s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 56s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 15m 16s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 1s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}137m 6s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 23s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}184m 27s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12918722/HBASE-19893.master.004.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux ac725472bdad 3.13.0-137-generic #186-Ubuntu SMP Mon Dec 4 19:09:19 UTC 2017 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / c4ebf666b7 | | maven | version: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) | | Default Java | 1.8.0_162 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/12412/testReport/ | | Max. process+thread count | 4507 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/12412/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > restore_snapshot is
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435457#comment-16435457 ] Ted Yu commented on HBASE-19893: [~ram_krish]: Can you take a look at the patch again? Thanks > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435396#comment-16435396 ] Hadoop QA commented on HBASE-19893: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 16s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 26s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 30s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 5s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 15s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 49s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 7s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 29s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 29s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 5s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 16s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 12m 58s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}109m 19s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 15s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}150m 4s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12918709/HBASE-19893.master.003.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux 772ac810feca 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 13:48:03 UTC 2016 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / c4ebf666b7 | | maven | version: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) | | Default Java | 1.8.0_162 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/12410/testReport/ | | Max. process+thread count | 4902 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/12410/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > restore_snapshot is broken
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435297#comment-16435297 ] Toshihiro Suzuki commented on HBASE-19893: -- I just attached v4 patch. In this patch, I added a test [~nihaljain.cs] provided. When I ran this test locally with the fix, it was successful. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch, HBASE-19893.master.004.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435217#comment-16435217 ] Toshihiro Suzuki commented on HBASE-19893: -- Thanks [~nihaljain.cs]. I'll add the UT you provided. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435215#comment-16435215 ] Nihal Jain commented on HBASE-19893: Okay sure [~brfrn169]. I think you should add the following UT along with this patch. So that the patch verifies that this fix resolves the truncate before restore bug. {code:java} @Test public void testRestoreSnapshotAfterTruncate() throws Exception { TableName tableName = TableName.valueOf("testRestoreSnapshotAfterTruncate"); SnapshotTestingUtils.createTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); SnapshotTestingUtils.loadData(TEST_UTIL, tableName, 500, FAMILY); int numOfRows = 0; try (Table table = TEST_UTIL.getConnection().getTable(tableName)) { numOfRows = countRows(table); } // take snapshot admin.snapshot("snap", tableName); admin.disableTable(tableName); admin.truncateTable(tableName, false); admin.disableTable(tableName); admin.restoreSnapshot("snap"); admin.enableTable(tableName); verifyRowCount(TEST_UTIL, tableName, numOfRows); SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); } {code} > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435206#comment-16435206 ] Toshihiro Suzuki commented on HBASE-19893: -- Thanks for letting me know [~nihaljain.cs]. If the attached patch fixes your issue, I don't think you need to raise another Jira. Ping [~yuzhih...@gmail.com] [~ram_krish]. Could you please review the patch? I reattached the latest patch to rerun a build. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch, > HBASE-19893.master.003.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435156#comment-16435156 ] Nihal Jain commented on HBASE-19893: Hi, I found another bug in restore_snapshot. Restore does not work if the user truncates a table before restoring a snapshot. Steps to reproduce are as follows: * Create a table {code:java} create "test", "c1"{code} * Load some data (say 2000 rows) to the table {code:java} (0...2000).each{|i| put "test", "row#{i}", "c1:q1", "value"}{code} * Take snapshot of the table {code:java} snapshot "test", "snap_test"{code} * Truncate the table {code:java} truncate "test"{code} * Load some more data (say 1000 rows) to the table {code:java} (2000...3000).each{|i| put "test", "row#{i}", "c1:q1", "value"}{code} * Restore the table from the snapshot {code:java} disable "test" restore_snapshot "snap_test" enable "test" {code} * Scan the table {code:java} scan 'test' {code} Scanning the table will result in 0 rows. Haven't raised a JIRA for it, as the above attached patch seems to fix the issue. Should I raise another JIRA and attach a UT to reproduce the scenario? > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16426422#comment-16426422 ] Toshihiro Suzuki commented on HBASE-19893: -- It seems like TestReplicationKillMasterRS.killOneMasterRS failed in the last build, but I don't think it is related to the patch and the test was successful when I ran it locally. I'm not familiar with shadedjars but it seems like it isn't related to the patch, because when I ran it in master branch locally, the same error occurred. Thanks. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16425394#comment-16425394 ] Hadoop QA commented on HBASE-19893: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 9s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 38s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 42s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 16s{color} | {color:green} master passed {color} | | {color:red}-1{color} | {color:red} shadedjars {color} | {color:red} 1m 27s{color} | {color:red} branch has 7 errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 57s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 18s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:red}-1{color} | {color:red} shadedjars {color} | {color:red} 0m 11s{color} | {color:red} patch has 7 errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 15m 25s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 6s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}102m 6s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 20s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}139m 4s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12917521/HBASE-19893.master.003.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux c89c8378bff5 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 0c0fe05bc4 | | maven | version: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) | | Default Java | 1.8.0_162 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/12297/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/12297/testReport/ | | Max. process+thread count | 4457 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/12297/console | | Powered by | Apache Yetus 0.7.0
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16425254#comment-16425254 ] Toshihiro Suzuki commented on HBASE-19893: -- Sorry for the late reply [~ram_krish], {quote} So this process of restore snapshot procs adds the in memory info that the procedures has to the META. So when the table is enabled after restore snapshot, this META info is not taken as the source of truth is it? Ya i think we may not know whether after disabling and when we enable if the enable is from the snapshot or frm some where else. In that sense this fix LGTM. So the change in TestRestoreSnapshotFromClient if run without the fix it would fail and now it would pass I believe. {quote} Yes, the META info should be the source of truth. Currently when restoring snapshot, the restore snapshot procs changes only META info and it doesn't change in-memory states. That's why this issue happens. The fix in the patch is adding a logic to change in-memory states. {quote} If the Master crashes and gets started again just after restore snapshot procedure is run and then you enable the table, what happens? Atleast that time do we read from META? {quote} Yes. I think even when Master crashes, Master can recover in-memory stats from the META table and retry restoring snapshot. And I attached a v3 patch. In the previous patch, all region replica infos in in-memory stats were removed when restoring a snapshot. However, I thought it is not correct and in the v3 patch, region replica infos in in-memory are handled correctly. Could you please review this patch? [~yuzhih...@gmail.com] [~ram_krish] > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch, HBASE-19893.master.003.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385911#comment-16385911 ] ramkrishna.s.vasudevan commented on HBASE-19893: bq.As restore_snapshot is done offline, after finishing it, we need to enable the target table. When enabling the table, EnableTableProcedure gets regions of the table from AM and assigns them: Ok so I get it now. The table is disabled when this procedure runs. So by the time the procedure completes the AM in memory structures are cleared and when the table enable happens the AM is able to get the updated info. So one more doubt, So this process of restore snapshot procs adds the in memory info that the procedures has to the META. So when the table is enabled after restore snapshot, this META info is not taken as the source of truth is it? Ya i think we may not know whether after disabling and when we enable if the enable is from the snapshot or frm some where else. In that sense this fix LGTM. So the change in TestRestoreSnapshotFromClient if run without the fix it would fail and now it would pass I believe. Finally one more question, If the Master crashes and gets started again just after restore snapshot procedure is run and then you enable the table, what happens? Atleast that time do we read from META? Thanks for the nice work [~brfrn169]. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385764#comment-16385764 ] Hadoop QA commented on HBASE-19893: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 17s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 53s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 51s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 11s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 6m 0s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 26s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 53s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 12s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 51s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 19m 38s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 40s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}124m 3s{color} | {color:green} hbase-server in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 19s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}169m 31s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:eee3b01 | | JIRA Issue | HBASE-19893 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12912973/HBASE-19893.master.002.patch | | Optional Tests | asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux eeb41aed210c 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 485af49e53 | | maven | version: Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z) | | Default Java | 1.8.0_151 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/11802/testReport/ | | Max. process+thread count | 4604 (vs. ulimit of 1) | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/11802/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > restore_snapshot is
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385751#comment-16385751 ] Toshihiro Suzuki commented on HBASE-19893: -- Thanks [~ram_krish]. {quote} Why is that you need to add to the AM's in memory state from RestoreSnapshotProcedure? Once the snapshot is restored will the AM automatically read the META and do the assignments? {quote} As restore_snapshot is done offline, after finishing restore_snapshot, we need to enable the target table. When enabling the table, EnableTableProcedure gets regions of the table from AM and assign them: https://github.com/apache/hbase/blob/485af49e53cb38e2af4635f2c3bc0b33e15ba0a1/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java#L123-L125 Therefore, I thought we needed to add region infos to AM in RestoreSnapshotProcedure. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385671#comment-16385671 ] ramkrishna.s.vasudevan commented on HBASE-19893: Few questions first {code} // We also need to remove region replicas from in-memory states 441 List regionReplicas = env.getAssignmentManager().getRegionStates() 442 .getRegionsOfTable(getTableName()).stream() 443 .filter(r -> !RegionReplicaUtil.isDefaultReplica(r)).collect(Collectors.toList()); 444 deleteRegionsFromInMemoryStates(regionReplicas, env); {code} This fix I can understand. but bq.addRegionsToInMemoryStates(regionsToAdd, env); and this {code} deleteRegionsFromInMemoryStates(regionsToRestore, env); 468 addRegionsToInMemoryStates(regionsToRestore, env); {code} Why is that you need to add to the AM's in memory state from RestoreSnapshotProcedure? Once the snapshot is restored will the AM automatically read the META and do the assignments? May be am missing something here. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385618#comment-16385618 ] Toshihiro Suzuki commented on HBASE-19893: -- I just attached the v2 patch for the review. Thanks. > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch, > HBASE-19893.master.002.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385609#comment-16385609 ] Ted Yu commented on HBASE-19893: Looking forward to your next patch. [~ram_krish]: Can you also take a look ? > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385606#comment-16385606 ] Toshihiro Suzuki commented on HBASE-19893: -- {quote} updateRegionState() is public, can your new code call it ? {quote} Sure, I will do that. {quote} For favored nodes, you mean it would be tracked in separate issue ? {quote} What I meant is that adding favored nodes is done in FavoredNodeLoadBalancer, so I don't think we need to consider favored nodes in addRegionsToInMemoryStates(). Thanks > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385587#comment-16385587 ] Ted Yu commented on HBASE-19893: updateRegionState() is public, can your new code call it ? For favored nodes, you mean it would be tracked in separate issue ? Thanks > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385532#comment-16385532 ] Toshihiro Suzuki commented on HBASE-19893: -- Thank you [~yuzhih...@gmail.com]. {quote}The above method is (renamed) existing method, do we need it ? {quote} Because the existing method (updateRegionState()) has VisibleForTesting annotation, I added the new method to rename updateRegionState(). But I think we can only remove the VisibleForTesting annotation of the updateRegionState() without renaming. {quote}Why delete region state and then add back ? {quote} To restore the specified table, we need to remove old region states and add new snapshotted region states. Regarding meta table, similar thing is done in MetaTableAccessor.overwriteRegions(). [https://github.com/apache/hbase/blob/485af49e53cb38e2af4635f2c3bc0b33e15ba0a1/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java#L1831-L1845] {quote}Do we need to consider favored nodes in the above method ? {quote} I believe that adding favored nodes is done only in FavoredNodeLoadBalancer. If it is wrong, please correct me. Thanks > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch > > > 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)
[jira] [Commented] (HBASE-19893) restore_snapshot is broken in master branch when region splits
[ https://issues.apache.org/jira/browse/HBASE-19893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16374665#comment-16374665 ] Ted Yu commented on HBASE-19893: I was able to reproduce the test failure without fix: {code} testRestoreSnapshotAfterSplittingRegions(org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClient) Time elapsed: 26.27 sec <<< FAILURE! java.lang.AssertionError: expected:<1000> but was:<939> at org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClient.verifyRowCount(TestRestoreSnapshotFromClient.java:344) at org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClient.testRestoreSnapshotAfterSplittingRegions(TestRestoreSnapshotFromClient.java:320) {code} > restore_snapshot is broken in master branch when region splits > -- > > Key: HBASE-19893 > URL: https://issues.apache.org/jira/browse/HBASE-19893 > Project: HBase > Issue Type: Bug > Components: snapshots >Reporter: Toshihiro Suzuki >Assignee: Toshihiro Suzuki >Priority: Critical > Attachments: HBASE-19893.master.001.patch > > > 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)