[
https://issues.apache.org/jira/browse/HBASE-10803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13944345#comment-13944345
]
Lars Hofhansl commented on HBASE-10803:
---------------------------------------
Can you write a unit tests? When folks use specific times with deletes and then
claim that deletes or puts do not work right I get very suspicious. At what
time is the delete placed exactly and what about the time of the put? (I assume
you know that you can place Deletes into the future and have them shadow
current Put or that you can date Puts into the past. If a Put and a Delete have
exactly the same timestamp the Delete will be sorted first... I.e. "win")
Have a look at TestAtomicOperation.testRowMutationMultiThreads. Specifically
how carefully the timestamps are chosen for proper testing.
> "mutateRow" maybe fail when Region Server restarted(or killed) or Region
> Balance
> --------------------------------------------------------------------------------
>
> Key: HBASE-10803
> URL: https://issues.apache.org/jira/browse/HBASE-10803
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.96.1.1
> Environment: hbase0.96.1.1
> hadoop2.2
> jdk1.7
> 5 Region Server
> Reporter: LiJianyin
>
> found that the operation "mutateRow" maybe fail if Region Server
> restarted(or killed) or Region Balance, but the java client didnot throw
> exceptions and there was no exception in the server's log either.
> the client code :
> HTableInterface table = connection.getTable(TABLE_NAME);
> Delete d = new Delete(Bytes.toBytes(rowkey), time);
> d.deleteColumns(FAMILY, Bytes.toBytes(id), time);
> Put p = new Put(Bytes.toBytes(rowkey));
> p.add(FAMILY_DEL, Bytes.toBytes(id), time,
> Bytes.toBytes(value));
> RowMutations rm = new
> RowMutations(Bytes.toBytes(rowkey));
> rm.add(d);
> rm.add(p);
> table.mutateRow(rm);
> table.close();
> the test data:
> Operator Type: put; mutateRow(delete+put)
> Operator Total Count:202194822 put:160866148 mutateRow:41328674
> All put correct, but 161 mutateRow incorrect (161 data was not
> mutateRowed in fact).
> then we checked log when the time mutateRow failed, NO EXCEPTION
> THROWED, found that as follow:
>
> 39 failed hbase auto region-balance
> 44 failed hbase region server killed
> 59 failed hbase region server restart
> 19 failed hadoop datanode restart
--
This message was sent by Atlassian JIRA
(v6.2#6252)