Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
How to enable server side routing in java client?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  15 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Felix.Xu  
View profile  
 More options Oct 31 2012, 5:03 am
From: "Felix.Xu" <ygnhz...@gmail.com>
Date: Wed, 31 Oct 2012 02:03:26 -0700 (PDT)
Local: Wed, Oct 31 2012 5:03 am
Subject: How to enable server side routing in java client?

Hi guys,
I have changed the stores.xml into server side routing:
     <routing>server</routing>
    <routing-strategy>consistent-routing</routing-strategy>

But seems that the java client is not able to use server side routing yet,
as the ClientConfig.java says:

     /**
     * Set the tier at which routing occurs. Client-side routing occurs on
the
     * client, and server-side routing on the server. This is not yet used,
as
     * the java client only supports client-side routing.
     *
     * @param routingTier The routing tier to use for routing requests
     */
    public ClientConfig setRoutingTier(RoutingTier routingTier) {
        this.routingTier = Utils.notNull(routingTier);
        return this;
    }

so, is there any solution to this problem?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Felix.Xu  
View profile  
 More options Nov 1 2012, 11:14 pm
From: "Felix.Xu" <ygnhz...@gmail.com>
Date: Thu, 1 Nov 2012 20:14:01 -0700 (PDT)
Local: Thurs, Nov 1 2012 11:14 pm
Subject: Re: How to enable server side routing in java client?

Resolved, I've implemented a new client.

在 2012年10月31日星期三UTC+8下午5时03分26秒,Felix.Xu写道:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Carlos Tasada  
View profile  
 More options Nov 2 2012, 4:18 am
From: Carlos Tasada <ctas...@gmail.com>
Date: Fri, 2 Nov 2012 09:18:01 +0100
Local: Fri, Nov 2 2012 4:18 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

Hi Felix,

If you can paste your solution here, it will help for future reference and
help other Voldemort users.

Thanks.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Felix.Xu  
View profile  
 More options Nov 2 2012, 5:38 am
From: "Felix.Xu" <ygnhz...@gmail.com>
Date: Fri, 2 Nov 2012 02:38:30 -0700 (PDT)
Local: Fri, Nov 2 2012 5:38 am
Subject: Re: How to enable server side routing in java client?

Sure, but I've added and modified quite a few classes, I'll write a blog
and paste it here. BTW, can I submit the changes into Voldemort project?

在 2012年10月31日星期三UTC+8下午5时03分26秒,Felix.Xu写道:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Carlos Tasada  
View profile  
 More options Nov 2 2012, 7:52 am
From: Carlos Tasada <ctas...@gmail.com>
Date: Fri, 2 Nov 2012 12:52:57 +0100
Local: Fri, Nov 2 2012 7:52 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

You can open an issue or a pull request in the GitHub Project.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Lei Gao  
View profile  
 More options Nov 5 2012, 2:25 pm
From: Lei Gao <gao...@gmail.com>
Date: Mon, 5 Nov 2012 11:25:40 -0800 (PST)
Local: Mon, Nov 5 2012 2:25 pm
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

We are working on a 'thin client' implementatoin as we speak. It's
discussed in more details in a separate thread:

https://groups.google.com/forum/?fromgroups=#!topic/project-voldemort...

Chinmay leads that project. He is on vacation at the moment and will be
back towards the end of Nov.  

Thanks,

Lei Gao


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chinmay Soman  
View profile  
 More options Nov 29 2012, 6:53 pm
From: Chinmay Soman <chinmay.cere...@gmail.com>
Date: Thu, 29 Nov 2012 15:53:40 -0800 (PST)
Local: Thurs, Nov 29 2012 6:53 pm
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

 My apologies for not updating the thread. We are indeed working on a thin
client architecture which moves the complicated quorum based routing to a
separate entity : 'Coordinator' and also makes the protocol between the
client and the coordinator less chatty.

 It'll be interesting to hear what are your reasons of moving to a server
side only routing ? What are the main issues that you face in your thick
client currently ?

 The advantage of defining the Coordinator is that once the logic is
factored out, it gives us the flexibility to deploy it wherever we choose
(for instance: on separate physical machines in front of the cluster or on
the server nodes itself).


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Carlos Tasada  
View profile  
 More options Nov 30 2012, 3:19 am
From: Carlos Tasada <ctas...@gmail.com>
Date: Fri, 30 Nov 2012 09:19:46 +0100
Local: Fri, Nov 30 2012 3:19 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

Hi Chinmay,

Is there any documentation or GitHub fork to follow up the progress of this
project? The idea of having a "Coordinator" to deal with all the routing
logic is interesting. From my point of view, if I'm understanding it
properly, it will simplify the whole codebase. It will allow to decide if
the routing should be done in the client or the server side.

I'm not in favor of having a separate machine to coordinate, because then
we would introduce a "Single Point of Failure". I would prefer something
more in the line of Cassandra or MongoDB when dealing with routing.

My 2 cents.

On Fri, Nov 30, 2012 at 12:53 AM, Chinmay Soman
<chinmay.cere...@gmail.com>wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chinmay Soman  
View profile  
 More options Dec 1 2012, 3:41 am
From: Chinmay Soman <chinmay.cere...@gmail.com>
Date: Sat, 1 Dec 2012 00:41:45 -0800 (PST)
Local: Sat, Dec 1 2012 3:41 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

Its my task for this weekend to collate all the docs into a public wiki.

Btw, its not going to be one single machine as a single point of failure.
You can choose to deploy a set of coordinators responsible for a single
cluster. The benefits of separating the coordinator from the server nodes
are not very obvious at this point. However it does make the deployment
model and debugging very easy.

I figure we need a lot more benchmarking to figure out the right deployment.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chinmay Soman  
View profile  
 More options Dec 3 2012, 3:07 am
From: Chinmay Soman <chinmay.cere...@gmail.com>
Date: Mon, 3 Dec 2012 00:07:38 -0800 (PST)
Local: Mon, Dec 3 2012 3:07 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

I've created this project page for the thin client:
https://github.com/voldemort/voldemort/wiki/Voldemort-thin-client

I'll keep this updated with the design specs, benchmarks and so on. Feel
free to edit / comment on the same.

Thank you for the patience !
C


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
ctasada  
View profile  
 More options Dec 3 2012, 6:48 am
From: ctasada <ctas...@gmail.com>
Date: Mon, 3 Dec 2012 03:48:03 -0800 (PST)
Local: Mon, Dec 3 2012 6:48 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

Looks great Chinmay!.

Is there already some published code to check? ;)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chinmay Soman  
View profile  
 More options Dec 4 2012, 2:05 am
From: Chinmay Soman <chinmay.cere...@gmail.com>
Date: Mon, 3 Dec 2012 23:05:25 -0800 (PST)
Local: Tues, Dec 4 2012 2:05 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

Its in my branch:

https://github.com/icefury71/voldemort/tree/temp_coordinator_changes

There might be some cleanup necessary (which is why I havent pushed it in
the voldemort repository as a branch).


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alex Feinberg  
View profile  
 More options Dec 4 2012, 7:36 pm
From: Alex Feinberg <feinb...@gmail.com>
Date: Tue, 4 Dec 2012 16:36:27 -0800
Local: Tues, Dec 4 2012 7:36 pm
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?
+ 1 server side routing makes deployments much easier. I like the implementation approach: using REST with a fast Netty based server to take care of both the REST API and the "thin client" / "server-side routing" project.

I'm afraid I'm a bit too late to the party to be of much use, but since you've mentioned REST: about a year ago, I've thought a bit of what a (polyglot) REST API for Voldemort could look like and wrote down the thoughts here:

https://github.com/afeinberg/voldemort/wiki/REST-API-Proposal

My goal, however, was to see how much of the Voldemort protocol could simply be handled by HTTP alone (e.g., HTTP-300 for conflict resolution) -- which I am not certain is the right approach.

Thanks!
- af

--
Alex Feinberg


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chinmay Soman  
View profile  
 More options Dec 5 2012, 2:21 am
From: Chinmay Soman <chinmay.cere...@gmail.com>
Date: Tue, 4 Dec 2012 23:21:03 -0800 (PST)
Local: Wed, Dec 5 2012 2:21 am
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?

Thanks Alex, I'll go through that proposal.

Currently, the HTTP protocol is designed to return all the conflicting
records with the resolution happening on the thin client side. We could
technically also have the failure detection on the coordinator, if we're
using the default mechanism. The only problem occurs with custom resolution
which is difficult to manage / deploy on the coordinator.

C


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alex Feinberg  
View profile  
 More options Dec 5 2012, 4:11 pm
From: Alex Feinberg <feinb...@gmail.com>
Date: Wed, 5 Dec 2012 13:11:52 -0800
Local: Wed, Dec 5 2012 4:11 pm
Subject: Re: [project-voldemort] Re: How to enable server side routing in java client?
Yes, my proposal also "punts" on that and uses the existing multiple-versions API ( http 300 -- commonly used to let a user decide which language to display a multi-language website in: http://www.checkupdown.com/status/E300.html ) inside HTTP to deal with that. The server would then provide the thin client with URIs to the different conflicting conflicting version… -- if they just want to do "last write wins" they would only have to fetch the one with the latest timestamp, or they could fetch all, etc…

[ Slightly off topic, thinking out loud: ]

Tangential idea/random thought: if you assign a coordinator per partition using ZK and then serialize all writes to the quorum for that partition through that coordinator instance (as a configurable option, *NOT* the default setting, of course!), then (due to TCP ordering guarantees) would that means concurrent vector clocks are not possible? I think this is effectively an grossly over-simplified multi-Paxos/ZAB -- ZK leader election to select a coordinator for a partition is phase 1, writing to a quorum is phase 2, and epoch in this case is "until the ephemeral node gets deleted" -- so unless the coordinator dies, the cost of a write is just a single round trip (same as any quorum write).

This also means that each node is receiving writes in the same order.

Just a thought,
- af

--  
Alex Feinberg


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »