|
From: Ning L. <nin...@gm...> - 2008-03-17 14:55:32
|
On Fri, Mar 14, 2008 at 5:04 PM, Doug Cutting <cu...@ap...> wrote: > Heartbeats should probably include the range/version currently > searchable. It should also report "load", perhaps its average response > time. I added a couple of things, but more will be needed as we move along. > When creating a new node, a host should ask the master what its id > should be, and the master should allocate new nodes to areas of the ring > that have a heavy load. Yes, the master will make that decision. > The master should also be able to give directives to hosts, indicating > that a node should be dropped (since it is in a cool area of the ring). > Then the host should ask for a new id to replace this. Hosts will be > configured to run a particular number of nodes. > Should we have a HostToMaster protocol in addition to a NodeToMaster > protocol, or should these be the same? None of the host related protocols are there yet. We should decide a few things before we add those? 1 Should nodes run as threads within a host process or as separate processes on a host? Do we still need a host process in the latter case? 2 In the former case, do we have HostToMasterProtocol and ClientToHostProtocol, or do we have NodeToMasterProtocol and ClientToNodeProtocol, or both sets? 3 In the latter case, we should have NodeToMasterProtocol and ClientToNodeProtocol. And HostToMasterProtocol if we have a host process. > Ranges might be <long,long> rather than <String,String>? I changed range to be <long, long> for now. However, a document id is of type String, so we have to convert from String to long. It is hard if we want to maintain the order of the ids after we convert them to longs. Cheers, Ning |