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

Andrew Purtell commented on HBASE-7590:
---------------------------------------

The trouble with multicast is in some networks it presents a problem. As an 
option, it's fine. As the only option, it is not.

I don't claim to deeply understand the issues, but I know multicast traffic can 
trigger broadcast floods, I think the risk is high when internal routing is 
reconverging and there is a logical<->physical topology incongruence. The point 
is, some NOCs may prefer to not use multicast.

I think case in point, on EC2 multicast doesn't work at all: 
https://forums.aws.amazon.com/message.jspa?messageID=52742, 
http://aws.amazon.com/vpc/faqs/#R4 


                
> Add a costless notifications mechanism from master to regionservers & clients
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-7590
>                 URL: https://issues.apache.org/jira/browse/HBASE-7590
>             Project: HBase
>          Issue Type: Bug
>          Components: Client, master, regionserver
>    Affects Versions: 0.96.0
>            Reporter: nkeywal
>
> t would be very useful to add a mechanism to distribute some information to 
> the clients and regionservers. Especially It would be useful to know globally 
> (regionservers + clients apps) that some regionservers are dead. This would 
> allow:
> - to lower the load on the system, without clients using staled information 
> and going on dead machines
> - to make the recovery faster from a client point of view. It's common to use 
> large timeouts on the client side, so the client may need a lot of time 
> before declaring a region server dead and trying another one. If the client 
> receives the information separatly about a region server states, it can take 
> the right decision, and continue/stop to wait accordingly.
> We can also send more information, for example instructions like 'slow down' 
> to instruct the client to increase the retries delay and so on.
>  Technically, the master could send this information. To lower the load on 
> the system, we should:
> - have a multicast communication (i.e. the master does not have to connect to 
> all servers by tcp), with once packet every 10 seconds or so.
> - receivers should not depend on this: if the information is available great. 
> If not, it should not break anything.
> - it should be optional.
> So at the end we would have a thread in the master sending a protobuf message 
> about the dead servers on a multicast socket. If the socket is not 
> configured, it does not do anything. On the client side, when we receive an 
> information that a node is dead, we refresh the cache about it.

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