https://github.com/voldemort/voldemort
Revision 2b65a88931724eb18fd08e01642ba9f686872c71 authored by ARUNACHALAM THIRUPATHI on 06 January 2016, 08:24:51 UTC, committed by Arunachalam Thirupathi on 07 January 2016, 02:07:48 UTC
1) For BuildAndPush If the Voldemort Cluster is far away from the
Hadoop Cluster, the connection timeout causes the Job to fail.
Increased the connection timeout in Azkaban.* files for this issue.

2) ClientConfig timeout is ignored by the AdminClient bootstrap
methods and it constructs an arbitary ClientConfig. Fixed that.

3) AdminClient passes in empty AdminClientConfig and ClientConfig
at multiple places. Removed that.
1 parent 47e62bb
Raw File
Tip revision: 2b65a88931724eb18fd08e01642ba9f686872c71 authored by ARUNACHALAM THIRUPATHI on 06 January 2016, 08:24:51 UTC
AdminClient does not obey the Client Timeout
Tip revision: 2b65a88
NOTES
Getting Started

For the most up-to-date information see http://project-voldemort.com

## checkout and build
jkreps@jkreps-md:/tmp > svn co svn+ssh://cm01.corp/lirepo/voldemort/trunk voldemort
jkreps@jkreps-md:/tmp > cd voldemort
jkreps@jkreps-md:/tmp/voldemort > ant

## start single node cluster and connect to table named メtestモ
jkreps@jkreps-md:/tmp/voldemort > ./bin/voldemort-server.sh config/single_node_cluster &
jkreps@jkreps-md:/tmp/voldemort> ./bin/voldemort-shell.sh test tcp://localhost:6666

## run some random commands to put and get strings
> help
Commands:
put key value -- Associate the given value with the key.
get key -- Retrieve the value associated with the key.
delete key -- Remove all values associated with the key.
preflist key -- Get node preference list for given key.
help -- Print this message.
exit -- Exit from this shell.
> put "hello" "there"
> get "hello"
version(0:1): "there"
> preflist "hello"
Node 0
host:  localhost
port: 6666
available: yes
last checked: 4614 ms ago

Example usage in example/java/voldemort/example/VoldemortExample.java.
Example configurations in config/


Code layout

annotations - Helper annotations
client - Code specific to the client
cluster - domain model for a voldemort cluster
routing - Code specific to routing requests
serialization - Code for turning bytes into objects and vice versa
server - Code for handling client requests
store - All the store implementations used by both client and server
utils - Helpers!
versioning - Vector clock stuff
xml - Code for serializing the configuration data...should probably be move to serialization


Background Resources

- Amazon Dynamo Paper -- http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf
- http://www.allthingsdistributed.com/2007/12/eventually_consistent.html
- OpenDHT and Bamboo papers
- BDB Performance: http://www.oracle.com/technology/products/berkeley-db/pdf/berkeley-db-perf.pdf
- Origin of vector clocks: http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf
- Brewer's conjecture: http://citeseer.ist.psu.edu/544596.html

Current build is from r19 


Supporting other clients
- Each store is available via all protcols, they are seperated by port
- Wire format vs. protocol (HTTP vs. Tcp/IP), protocol buffers
- How to abstract wire format?
- A given serialization type may or may not be supported by the client language

Socket servers share threadpool? 

A WireProtocol takes bytes and creates a voldemort request, and takes objects to create a voldemort response.
Likewise the client does the opposite

Connector.handleRequest()
back to top