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

stack commented on HBASE-4462:
------------------------------

Test fails like this:

{code}
  3 Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.943 sec 
<<< FAILURE!
  4 
testNoRetryOnSocketTimeoutException(org.apache.hadoop.hbase.client.TestClientNoCluster)
  Time elapsed: 5.726 sec  <<< ERROR!
  5 org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after 
attempts=5, exceptions:
  6 Mon May 20 11:30:57 PDT 2013, 
org.apache.hadoop.hbase.client.ScannerCallable@275e538e, 
java.net.SocketTimeoutException: From Mockito
  7 Mon May 20 11:30:58 PDT 2013, 
org.apache.hadoop.hbase.client.ScannerCallable@275e538e, 
java.net.SocketTimeoutException: From Mockito
  8 Mon May 20 11:30:59 PDT 2013, 
org.apache.hadoop.hbase.client.ScannerCallable@275e538e, 
java.net.SocketTimeoutException: From Mockito
  9 Mon May 20 11:31:00 PDT 2013, 
org.apache.hadoop.hbase.client.ScannerCallable@275e538e, 
java.net.SocketTimeoutException: From Mockito
 10 Mon May 20 11:31:02 PDT 2013, 
org.apache.hadoop.hbase.client.ScannerCallable@275e538e, 
java.net.SocketTimeoutException: From Mockito
{code}

                
> Properly treating SocketTimeoutException
> ----------------------------------------
>
>                 Key: HBASE-4462
>                 URL: https://issues.apache.org/jira/browse/HBASE-4462
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.90.4
>            Reporter: Jean-Daniel Cryans
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.90.8
>
>         Attachments: HBASE-4462_0.90.x.patch, 
> unittest_that_shows_us_retrying_sockettimeout.txt
>
>
> SocketTimeoutException is currently treated like any IOE inside of 
> HCM.getRegionServerWithRetries and I think this is a problem. This method 
> should only do retries in cases where we are pretty sure the operation will 
> complete, but with STE we already waited for (by default) 60 seconds and 
> nothing happened.
> I found this while debugging Douglas Campbell's problem on the mailing list 
> where it seemed like he was using the same scanner from multiple threads, but 
> actually it was just the same client doing retries while the first run didn't 
> even finish yet (that's another problem). You could see the first scanner, 
> then up to two other handlers waiting for it to finish in order to run 
> (because of the synchronization on RegionScanner).
> So what should we do? We could treat STE as a DoNotRetryException and let the 
> client deal with it, or we could retry only once.
> There's also the option of having a different behavior for get/put/icv/scan, 
> the issue with operations that modify a cell is that you don't know if the 
> operation completed or not (same when a RS dies hard after completing let's 
> say a Put but just before returning to the client).

--
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

Reply via email to