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

irubin edited comment on HBASE-727 at 7/7/08 4:39 PM:
-----------------------------------------------------------

A patch that alters HbaseRPC.waitForProxy() such that it takes an additional 
argument specifying how long it should stay in the loop (positive numbers 
indicating the number of iterations, negative numbers indicating infinite). The 
two locations (one server, one client) where this method is called are also 
updated.

(Forgot to mention): hbase_727.patch passed all HBase tests.

      was (Author: irubin):
    A patch that alters HbaseRPC.waitForProxy() such that it takes an 
additional argument specifying how long it should stay in the loop (positive 
numbers indicating the number of iterations, negative numbers indicating 
infinite). The two locations (one server, one client) where this method is 
called are also updated.
  
> Client caught in an infinite loop when trying to connect to cached server 
> locations
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-727
>                 URL: https://issues.apache.org/jira/browse/HBASE-727
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client, ipc
>            Reporter: Izaak Rubin
>            Assignee: Izaak Rubin
>            Priority: Minor
>         Attachments: hbase-727_logfile_sample.txt, hbase_727.patch
>
>
> HbaseRPC, which (to my understanding) is used whenever there is a need to 
> connect to a server, enters an infinite loop to continually retry the 
> connection until it succeeds.  This makes sense for server-to-server 
> interaction, but it doesn't necessarily make sense for all client-to-server 
> interaction.
> The problem I first observed was in doing fast restarts of HBase.  When I 
> attempted to reload the UI after a restart, it would infinitely try to 
> re-contact the cached server location from before the restart.  The correct 
> behavior would be to break out of the loop as soon as possible in situations 
> like the one above.  I think that throwing a RetriesExhaustedException would 
> be the best way to do this, although if anyone has any suggestions please let 
> me know.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to