Hi Andy, The reason I'm hesitating on this is because it feels like an edge case and changing the location name would be an on-disk format incompatibility breaking all existing deployments. What if you added a property like the following:
Hypertable.Master.Locations.IncludeMasterHash This would cause the Master to compute the MD5 hash of the master hostname + port and then it would embed the first 8 hex digits in the name like follows: rs-2BAF2348-0 rs-2BAF2348-1 rs-2BAF2348-2 ... Over time, if it turns out that this is a common use case, we can make it permanent. Would that work for you? - Doug On Tue, Dec 21, 2010 at 7:23 AM, Andy <[email protected]> wrote: > Hi Sanjit, > > well I see all the concerns. Do you see any better approach which > covers > all the different configurations and change of master? Would it be > feasible to > use a guid instead of "rs1", "rs2", ...? Or would it be to confusing > and unreadable? > > -Andy > > On Dec 20, 10:38 pm, Sanjit Jhala <[email protected]> wrote: > > Hi Andy, > > > > One problem with prefixing the master name to the rangeserver ids is > dealing > > with change of master. Another issue is with the case where people want > to > > run multiple Hypertable clusters on the same set of machines, so there > could > > be 3 masters running on different ports on the same machine. > > > > -Sanjit > > > > On Mon, Dec 20, 2010 at 12:58 PM, Andy <[email protected]> wrote: > > > Hi Doug > > > > > Well I just like to ensure that such a use case is covered. A client > > > (single process) should be able to deal with more than one hypertable > > > instance (completely independent instances); ideally without any > > > special configuration requirements on the server side, just knowing > > > the hosts/ports. For example a client collects and stores raw > > > measurements very frequent from many sensors into one instance, where > > > a second client queries the row measurements, does some analysis/post- > > > processing and pushes the result to second hypertable instance. I have > > > added a new Hypertable::Client constructor Client(const String > > > &install_dir, ConnectionManagerPtr conn_mgr, Hyperspace::SessionPtr& > > > session, PropertiesPtr &props, uint32_t default_timeout_ms=0); Each > > > hypertable instance will get it's own hs session, connection manager > > > and property set, that's the way I configure the clients. In addition > > > I have changed the cleanup procedure in order to gracefully close > > > connections and to be able to re-connect later. > > > > > -Andy > > > > > On Dec 20, 6:41 pm, Doug Judd <[email protected]> wrote: > > > > Hi Andy, > > > > > > That would be better. Some of the configuration would have to be > > > different > > > > for each hypertable instance, such as Hypertable.Master.Host > > > > and Hyperspace.Replica.Host. Can you give us some background of the > > > > multi-instance situation that you're trying to accomodate? In > > > particular, > > > > how do you specify different masters and how common do you expect > this > > > > situation to be? > > > > > > - Doug > > > > > > On Mon, Dec 20, 2010 at 7:08 AM, Andy <[email protected]> > wrote: > > > > > Hi Doug > > > > > > > A config property wouldn't solve the problem, because using more > than > > > > > one hypertable instance with default configuration the proxy names > > > > > still conflict. Nevertheless a config property would simplify the > > > > > configuration in such situations. It would be sufficient if the > master > > > > > hostname is just part of the prefix something like this "rs-" + > > > > > <master hostname> + "-" + <#>; do you think this is still > confusing? > > > > > It indicates a range server ("rs") and the master where it belongs > to. > > > > > > > -Andy > > > > > > > On Dec 17, 5:43 pm, Doug Judd <[email protected]> wrote: > > > > > > Hi Andy, > > > > > > > > What if we made it a config property (e.g. > > > > > > Hypertable.Master.ProxyName.Prefix) that defaults to "rs" ? I'm > a > > > little > > > > > > concerned about using the Master hostname because the proxy name > is > > > > > exposed > > > > > > in a number of places and it seems like it might be confusing for > > > someone > > > > > > trying to familiarize themselves with the system. Would the > config > > > > > property > > > > > > approach work for you? > > > > > > > > - Doug > > > > > > > > On Fri, Dec 17, 2010 at 3:51 AM, Andy <[email protected]> > > > wrote: > > > > > > > There is an issue with Master::register_server; this > > > > > > > methods assigns a location if not already assigned, the > assigned > > > > > > > location always starts with "rs" (rs1, rs2, ...). This > assignment > > > > > > > makes troubles > > > > > > > if a client (one process) connects (not via thrift) to more > than > > > one > > > > > > > hypertable > > > > > > > instance for which the proxy names for the range servers have > not > > > been > > > > > > > explicitly > > > > > > > defined (via hypertable.cfg). As a result the client proxy map > gets > > > > > > > mixed up. > > > > > > > > > As a workaround I have changed the location assignment for the > > > Windows > > > > > > > version to: > > > > > > > location = (!System::net_info().host_name.empty() ? > > > > > > > System::net_info().host_name : String("rs")) + > m_next_server_id++; > > > > > > > it uses the master host name as prefix. > > > > > > > > > Does this have any negative side effects? > > > > > > > Is this a change which could find the way into the main branch? > > > > > > > > > -Andy > > > > > > > > > -- > > > > > > > You received this message because you are subscribed to the > Google > > > > > Groups > > > > > > > "Hypertable Development" group. > > > > > > > To post to this group, send email to > > > [email protected]. > > > > > > > To unsubscribe from this group, send email to > > > > > > > [email protected]<hypertable-dev%[email protected]> > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > > > > > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > > > > > > > > > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > > > > > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > > > > > > > > > > > . > > > > > > > For more options, visit this group at > > > > > > >http://groups.google.com/group/hypertable-dev?hl=en. > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > Groups > > > > > "Hypertable Development" group. > > > > > To post to this group, send email to > [email protected]. > > > > > To unsubscribe from this group, send email to > > > > > [email protected]<hypertable-dev%[email protected]> > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > > > > > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > > > > > > > > > . > > > > > For more options, visit this group at > > > > >http://groups.google.com/group/hypertable-dev?hl=en. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Hypertable Development" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]<hypertable-dev%[email protected]> > <hypertable-dev%[email protected]<hypertable-dev%[email protected]> > > > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/hypertable-dev?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Hypertable Development" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<hypertable-dev%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/hypertable-dev?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Hypertable Development" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/hypertable-dev?hl=en.
