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/26 01:56:16 UTC
[jira] Commented: (HBASE-1869) IndexedTable delete fails when used
in conjunction with RowLock()
[ 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.