[
https://issues.apache.org/jira/browse/HBASE-8678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13673536#comment-13673536
]
Jean-Marc Spaggiari commented on HBASE-8678:
--------------------------------------------
Arg. My brain was boiling today and I was doing to many things at the same time.
Version vs timestamp...
Ok. So t1 = delete and t1370291892= put.
So you're right. Put should still be there.
Which mean there is an issue with the REST call. That's strange because the URL
called for the delete is correct
{code}
2013-06-03 16:39:32,371 DEBUG [main] client.Client(190): DELETE
http://localhost:8080/t1/row21/2 200 OK in 22 ms
{code}
>From the server log side I got that:
{code}
013-06-03 16:45:23,911 DEBUG
org.apache.hadoop.hbase.rest.provider.consumer.ProtobufMessageBodyConsumer:
class
org.apache.hadoop.hbase.rest.provider.consumer.ProtobufMessageBodyConsumer:
read 31 bytes from org.mortbay.jetty.HttpParser$Input@2ffecaeb
2013-06-03 16:45:23,925 DEBUG org.apache.hadoop.hbase.rest.RowResource: PUT
http://localhost:8080/t1/row21 {}
2013-06-03 16:45:24,046 DEBUG org.apache.hadoop.hbase.rest.RowResource: PUT
{"totalColumns":1,"families":{"f1":[{"timestamp":9223372036854775807,"qualifier":"name","vlen":9}]},"row":"row21"}
2013-06-03 16:45:24,055 DEBUG
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation:
Looked up root region location,
connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@190a0d51;
serverName=cloudera.distparser.com,36420,1370292284202
2013-06-03 16:45:24,071 DEBUG
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation:
Cached location for .META.,,1.1028785192 is cloudera.distparser.com:36420
2013-06-03 16:45:24,077 DEBUG org.apache.hadoop.hbase.client.MetaScanner:
Scanning .META. starting at row=t1,,00000000000000 for max=10 rows using
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@190a0d51
2013-06-03 16:45:24,081 DEBUG
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation:
Cached location for t1,,1370285591087.d647960f84075dc01928accdf433774b. is
cloudera.distparser.com:36420
2013-06-03 16:45:24,105 DEBUG org.apache.hadoop.hbase.rest.RowResource: DELETE
http://localhost:8080/t1/row21/2
2013-06-03 16:45:24,110 DEBUG org.apache.hadoop.hbase.rest.RowResource: DELETE
{"ts":9223372036854775807,"totalColumns":0,"families":{},"row":"row21"}
{code}
The URL is still correct, but the ts is definitively wrong... So issue is on
the server side when it's decoding the URL.
> Wrongly delete cells in some case which can not be deleted
> ----------------------------------------------------------
>
> Key: HBASE-8678
> URL: https://issues.apache.org/jira/browse/HBASE-8678
> Project: HBase
> Issue Type: Bug
> Components: REST
> Affects Versions: 0.94.5, 0.95.0
> Environment: CentOS 5.5/hadoop0.20.2/hbase0.94.5/zookeeper3.4.3
> Reporter: Eric Huang
>
> First, I put a cell using put interface, but I don't specify timestamp. Then
> I delete the the same row, specify a timestamp of 1L. Unfortunately, the
> former cell is
> deleted. We should know this cell can not be deleted in this case. (Using
> original Client API)
> Code like this;
> public static void main(String[] args) throws Exception {
> Cluster cluster = new Cluster();
> cluster.add("10.28.171.38", 8080);
> Client client = new Client(cluster);
> RemoteHTable table = new RemoteHTable(client, "demotime");
>
> Put put = new Put(Bytes.toBytes("row21"));
> put.add("info".getBytes(), "name".getBytes(), "huanggang".getBytes());
> table.put(put);
>
> Delete delete = new Delete(Bytes.toBytes("row21"));
> delete.setTimestamp(1L);
> table.delete(delete);
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira