You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Keith Thomas (JIRA)" <ji...@apache.org> on 2009/09/25 21:47:15 UTC
[jira] Created: (HBASE-1869) IndexedTable delete fails when used in
conjunction with RowLock()
IndexedTable delete fails when used in conjunction with RowLock()
-----------------------------------------------------------------
Key: HBASE-1869
URL: https://issues.apache.org/jira/browse/HBASE-1869
Project: Hadoop HBase
Issue Type: Bug
Components: contrib
Affects Versions: 0.20.0
Environment: Ubunto 9.04 Desktop under VmWare Fusion, Java 1.6.0_16
Reporter: Keith Thomas
Created the following test in TestIndexedTable,
public void testLockedRowDelete() throws IOException {
writeInitalRows();
// Delete the first row;
byte[] row = PerformanceEvaluation.format(0);
RowLock lock = table.lockRow(row);
table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
table.unlockRow(lock);
assertRowDeleted(NUM_ROWS - 1);
}
}
which fails and throws the following exception,
java.io.IOException: java.io.IOException: Invalid row lock
at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
Patch coded, jus going through final testing and packaging. Will attach shortly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HBASE-1869) IndexedTable delete fails when used in
conjunction with RowLock()
Posted by "Keith Thomas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-1869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Thomas updated HBASE-1869:
--------------------------------
Description:
Created the following test in TestIndexedTable,
public void testLockedRowDelete() throws IOException {
writeInitalRows();
// Delete the first row;
byte[] row = PerformanceEvaluation.format(0);
RowLock lock = table.lockRow(row);
table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
table.unlockRow(lock);
assertRowDeleted(NUM_ROWS - 1);
}
}
which fails and throws the following exception,
java.io.IOException: java.io.IOException: Invalid row lock
at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
Patch coded for the latest version in SVN (looks like 0.21.0) , just going through final testing and packaging. Will attach shortly.
was:
Created the following test in TestIndexedTable,
public void testLockedRowDelete() throws IOException {
writeInitalRows();
// Delete the first row;
byte[] row = PerformanceEvaluation.format(0);
RowLock lock = table.lockRow(row);
table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
table.unlockRow(lock);
assertRowDeleted(NUM_ROWS - 1);
}
}
which fails and throws the following exception,
java.io.IOException: java.io.IOException: Invalid row lock
at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
Patch coded, jus going through final testing and packaging. Will attach shortly.
Affects Version/s: 0.21.0
0.20.1
Fix Version/s: 0.21.0
0.20.1
> IndexedTable delete fails when used in conjunction with RowLock()
> -----------------------------------------------------------------
>
> Key: HBASE-1869
> URL: https://issues.apache.org/jira/browse/HBASE-1869
> Project: Hadoop HBase
> Issue Type: Bug
> Components: contrib
> Affects Versions: 0.20.0, 0.20.1, 0.21.0
> Environment: Ubunto 9.04 Desktop under VmWare Fusion, Java 1.6.0_16
> Reporter: Keith Thomas
> Fix For: 0.20.1, 0.21.0
>
> Attachments: HBASE-1869.patch
>
>
> Created the following test in TestIndexedTable,
> public void testLockedRowDelete() throws IOException {
> writeInitalRows();
> // Delete the first row;
> byte[] row = PerformanceEvaluation.format(0);
> RowLock lock = table.lockRow(row);
> table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
> table.unlockRow(lock);
> assertRowDeleted(NUM_ROWS - 1);
> }
> }
> which fails and throws the following exception,
> java.io.IOException: java.io.IOException: Invalid row lock
> at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
> at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
> at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> Patch coded for the latest version in SVN (looks like 0.21.0) , just going through final testing and packaging. Will attach shortly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HBASE-1869) IndexedTable delete fails when used in
conjunction with RowLock()
Posted by "Keith Thomas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-1869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Thomas updated HBASE-1869:
--------------------------------
Attachment: HBASE-1869.patch
Patch attached, including extra unit test. Have run the (minor) fix through all tests by invoking 'ant clean test javadoc'.
> IndexedTable delete fails when used in conjunction with RowLock()
> -----------------------------------------------------------------
>
> Key: HBASE-1869
> URL: https://issues.apache.org/jira/browse/HBASE-1869
> Project: Hadoop HBase
> Issue Type: Bug
> Components: contrib
> Affects Versions: 0.20.0
> Environment: Ubunto 9.04 Desktop under VmWare Fusion, Java 1.6.0_16
> Reporter: Keith Thomas
> Attachments: HBASE-1869.patch
>
>
> Created the following test in TestIndexedTable,
> public void testLockedRowDelete() throws IOException {
> writeInitalRows();
> // Delete the first row;
> byte[] row = PerformanceEvaluation.format(0);
> RowLock lock = table.lockRow(row);
> table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
> table.unlockRow(lock);
> assertRowDeleted(NUM_ROWS - 1);
> }
> }
> which fails and throws the following exception,
> java.io.IOException: java.io.IOException: Invalid row lock
> at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
> at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
> at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> Patch coded, jus going through final testing and packaging. Will attach shortly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HBASE-1869) IndexedTable delete fails when used in
conjunction with RowLock()
Posted by "Keith Thomas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-1869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Thomas updated HBASE-1869:
--------------------------------
Status: Patch Available (was: Open)
Patch attached to Jira.
> IndexedTable delete fails when used in conjunction with RowLock()
> -----------------------------------------------------------------
>
> Key: HBASE-1869
> URL: https://issues.apache.org/jira/browse/HBASE-1869
> Project: Hadoop HBase
> Issue Type: Bug
> Components: contrib
> Affects Versions: 0.20.0, 0.20.1, 0.21.0
> Environment: Ubunto 9.04 Desktop under VmWare Fusion, Java 1.6.0_16
> Reporter: Keith Thomas
> Fix For: 0.20.1, 0.21.0
>
> Attachments: HBASE-1869.patch
>
>
> Created the following test in TestIndexedTable,
> public void testLockedRowDelete() throws IOException {
> writeInitalRows();
> // Delete the first row;
> byte[] row = PerformanceEvaluation.format(0);
> RowLock lock = table.lockRow(row);
> table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
> table.unlockRow(lock);
> assertRowDeleted(NUM_ROWS - 1);
> }
> }
> which fails and throws the following exception,
> java.io.IOException: java.io.IOException: Invalid row lock
> at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
> at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
> at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> Patch coded for the latest version in SVN (looks like 0.21.0) , just going through final testing and packaging. Will attach shortly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HBASE-1869) IndexedTable delete fails when used in
conjunction with RowLock()
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-1869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HBASE-1869:
-------------------------
Resolution: Fixed
Fix Version/s: (was: 0.20.1)
Status: Resolved (was: Patch Available)
It looks like HBASE-1840 fixed this for the branch.
Thanks for the patch Keith (good to meet you the last night at HUG).
> IndexedTable delete fails when used in conjunction with RowLock()
> -----------------------------------------------------------------
>
> Key: HBASE-1869
> URL: https://issues.apache.org/jira/browse/HBASE-1869
> Project: Hadoop HBase
> Issue Type: Bug
> Components: contrib
> Affects Versions: 0.20.0, 0.20.1, 0.21.0
> Environment: Ubunto 9.04 Desktop under VmWare Fusion, Java 1.6.0_16
> Reporter: Keith Thomas
> Fix For: 0.21.0
>
> Attachments: HBASE-1869.patch
>
>
> Created the following test in TestIndexedTable,
> public void testLockedRowDelete() throws IOException {
> writeInitalRows();
> // Delete the first row;
> byte[] row = PerformanceEvaluation.format(0);
> RowLock lock = table.lockRow(row);
> table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
> table.unlockRow(lock);
> assertRowDeleted(NUM_ROWS - 1);
> }
> }
> which fails and throws the following exception,
> java.io.IOException: java.io.IOException: Invalid row lock
> at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
> at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
> at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> Patch coded for the latest version in SVN (looks like 0.21.0) , just going through final testing and packaging. Will attach shortly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HBASE-1869) IndexedTable delete fails when used
in conjunction with RowLock()
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-1869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759958#action_12759958 ]
stack commented on HBASE-1869:
------------------------------
I backported this fix to 0.20 branch. Thanks Keith.
> IndexedTable delete fails when used in conjunction with RowLock()
> -----------------------------------------------------------------
>
> Key: HBASE-1869
> URL: https://issues.apache.org/jira/browse/HBASE-1869
> Project: Hadoop HBase
> Issue Type: Bug
> Components: contrib
> Affects Versions: 0.20.0, 0.20.1, 0.21.0
> Environment: Ubunto 9.04 Desktop under VmWare Fusion, Java 1.6.0_16
> Reporter: Keith Thomas
> Fix For: 0.21.0
>
> Attachments: HBASE-1869.patch
>
>
> Created the following test in TestIndexedTable,
> public void testLockedRowDelete() throws IOException {
> writeInitalRows();
> // Delete the first row;
> byte[] row = PerformanceEvaluation.format(0);
> RowLock lock = table.lockRow(row);
> table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
> table.unlockRow(lock);
> assertRowDeleted(NUM_ROWS - 1);
> }
> }
> which fails and throws the following exception,
> java.io.IOException: java.io.IOException: Invalid row lock
> at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
> at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
> at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> Patch coded for the latest version in SVN (looks like 0.21.0) , just going through final testing and packaging. Will attach shortly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HBASE-1869) IndexedTable delete fails when used
in conjunction with RowLock()
Posted by "Keith Thomas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-1869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759820#action_12759820 ]
Keith Thomas commented on HBASE-1869:
-------------------------------------
My previous fix HBASE-1840 only stooped this exception being thrown upon updates, unfortunately I didn't think to test deletes. Maybe 1840 was improved upon by others after I submitted it to make it also handle deletions with a row locked. However if my fix was taken as-is then this later fix HBASE-1869 is required to fix both updates and deletions. I hope this makes sense and apologize if my problem descriptions have caused unnecessary confusion.
P.S. It was great to meet you too 'Stack', thanks for your feedback, much appreciated.
> IndexedTable delete fails when used in conjunction with RowLock()
> -----------------------------------------------------------------
>
> Key: HBASE-1869
> URL: https://issues.apache.org/jira/browse/HBASE-1869
> Project: Hadoop HBase
> Issue Type: Bug
> Components: contrib
> Affects Versions: 0.20.0, 0.20.1, 0.21.0
> Environment: Ubunto 9.04 Desktop under VmWare Fusion, Java 1.6.0_16
> Reporter: Keith Thomas
> Fix For: 0.21.0
>
> Attachments: HBASE-1869.patch
>
>
> Created the following test in TestIndexedTable,
> public void testLockedRowDelete() throws IOException {
> writeInitalRows();
> // Delete the first row;
> byte[] row = PerformanceEvaluation.format(0);
> RowLock lock = table.lockRow(row);
> table.delete(new Delete(row, HConstants.LATEST_TIMESTAMP, lock));
> table.unlockRow(lock);
> assertRowDeleted(NUM_ROWS - 1);
> }
> }
> which fails and throws the following exception,
> java.io.IOException: java.io.IOException: Invalid row lock
> at org.apache.hadoop.hbase.regionserver.HRegion.getLock(HRegion.java:1621)
> at org.apache.hadoop.hbase.regionserver.HRegion.delete(HRegion.java:1094)
> at org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.delete(IndexedRegion.java:269)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.delete(HRegionServer.java:2014)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:648)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> Patch coded for the latest version in SVN (looks like 0.21.0) , just going through final testing and packaging. Will attach shortly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.