accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-551) Experiment with multi-node batch writer
Date Tue, 01 May 2012 19:48:51 GMT


Keith Turner commented on ACCUMULO-551:

At first I was thinking of having a batch writer that writes to a batch writer on another
node, which would work nicely with a general proxy.  However I have been thinking about it
more and I am not sure if this will work well.  There are a few reasons I am thinking this
is not the best strategy.  First, when a tablet is not at an expected location and rack this
info needs to propagate back to the source so it can invalidate its metadata cache.  Second,
the second level batch writer will have to rebin the mutations even though the first level
batch writer has already done this.  Third the second level batch writer will keep retrying
until it gets everything through, even if its a small amount of mutations that is failing.
 This could stall first level batch writer unnecessarily. 

I am thinking about making a delegating batch writer that bins mutations into rack/server
and then sends this to a server on the rack.  A specialized proxy would just forward the mutations
in parallel and report back failures.  This specialized proxy would just use the location
passed to it by the source, it would not try to determine a mutations location. 

> Experiment with multi-node batch writer
> ---------------------------------------
>                 Key: ACCUMULO-551
>                 URL:
>             Project: Accumulo
>          Issue Type: Task
>            Reporter: Keith Turner
>             Fix For: 1.5.0
> Accumulo has a batch writer that batches mutations by tablet server for writes.  This
works well until there are alot of tablet servers being written to at which point only a small
amount of data is being sent to each tablet server.  Would it be better for the client to
batch writes for multiple tablet servers and send them to one server which writes directly
to the tablet servers?  
> One possible way to do this is to :
>  * batch mutations by rack on the client
>  * send all of those mutations to one random tablet server on the rack 
>  * have the random tablet server write to the other servers on the rack
> This cuts down on the number of direct connections the client has to make.  Could have
the following benefits.
>  * Tablet servers can keep connections open to other tablet servers.
>  * A write pipeline
> Would be interesting to run some test and see how well this works.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message