hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Izaak Rubin (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (HBASE-727) Client caught in an infinite loop when trying to connect to cached server locations
Date Mon, 07 Jul 2008 23:40:31 GMT

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


Mime
View raw message