[ 
https://issues.apache.org/jira/browse/HBASE-10079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13839634#comment-13839634
 ] 

Jonathan Hsieh commented on HBASE-10079:
----------------------------------------

I'm having a hard time recreating the jagged counts.  I tried reverting 
patches, and before and after the patch nkeywal provided.  I think the flush 
problem was a red herring where I was biased by the customer problem I was 
recently working on.

When I changed my tests to do 100000 increments the pattern I saw really jumped 
out.  Looking at the original numbers from this morning I see the same pattern 
present with the 250000 increments.  

80 threads, 250000 increments == 3125 increments / thread.
count = 246875 != 250000 (flush)  // one thread failed to start.
count = 243750 != 250000 (kill)  // two threads failed to start.  
count = 246878 != 250000 (kill -9) // one thread failed to start and we had 3 
threads that sent increments that succeeded and retried but didn't get an ack 
because of kill -9).

The last one through we off because it wasn't regular but I think the 
explanation I have makes sense.

I'm looking into seeing if my test code is bad (is there TableName 
documentation I ignoredthat says  that the race in the stacktrace is my fault) 
or if we need to add some synchronization to this createTableNameIfNecessary 
method.



> Increments lost after flush 
> ----------------------------
>
>                 Key: HBASE-10079
>                 URL: https://issues.apache.org/jira/browse/HBASE-10079
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.96.1
>            Reporter: Jonathan Hsieh
>            Priority: Blocker
>             Fix For: 0.96.1
>
>         Attachments: 10079.v1.patch
>
>
> Testing 0.96.1rc1.
> With one process incrementing a row in a table, we increment single col.  We 
> flush or do kills/kill-9 and data is lost.  flush and kill are likely the 
> same problem (kill would flush), kill -9 may or may not have the same root 
> cause.
> 5 nodes
> hadoop 2.1.0 (a pre cdh5b1 hdfs).
> hbase 0.96.1 rc1 
> Test: 250000 increments on a single row an single col with various number of 
> client threads (IncrementBlaster).  Verify we have a count of 250000 after 
> the run (IncrementVerifier).
> Run 1: No fault injection.  5 runs.  count = 250000. on multiple runs.  
> Correctness verified.  1638 inc/s throughput.
> Run 2: flushes table with incrementing row.  count = 246875 !=250000.  
> correctness failed.  1517 inc/s throughput.  
> Run 3: kill of rs hosting incremented row.  count = 243750 != 250000. 
> Correctness failed.   1451 inc/s throughput.
> Run 4: one kill -9 of rs hosting incremented row.  246878.!= 250000.  
> Correctness failed. 1395 inc/s (including recovery)



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to