Permalink
Browse files

Java doc changes

  • Loading branch information...
1 parent de9ffd0 commit 1ce9886f65be7c1ead5341dc999b123e0e0508dc @rsumbaly rsumbaly committed Jul 14, 2011
Showing with 380 additions and 110 deletions.
  1. +1 −1 build.xml
  2. +5 −0 contrib/ec2-testing/src/java/voldemort/utils/app/package.html
  3. +5 −0 contrib/ec2-testing/src/java/voldemort/utils/impl/package.html
  4. +5 −0 contrib/ec2-testing/src/java/voldemort/utils/package.html
  5. +5 −0 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/benchmark/package.html
  6. +5 −0 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/checksum/package.html
  7. +5 −0 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/fetcher/package.html
  8. +5 −0 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/mr/package.html
  9. +5 −0 contrib/krati/src/java/voldemort/store/krati/package.html
  10. +44 −19 docs/fun_projects.txt
  11. +1 −1 src/java/voldemort/annotations/jmx/package.html
  12. +2 −2 src/java/voldemort/annotations/package.html
  13. +3 −3 src/java/voldemort/client/StoreClient.java
  14. +4 −0 src/java/voldemort/client/package.html
  15. +12 −7 src/java/voldemort/client/protocol/admin/AdminClient.java
  16. +5 −0 src/java/voldemort/client/protocol/admin/filter/package.html
  17. +5 −0 src/java/voldemort/client/protocol/admin/package.html
  18. +1 −1 src/java/voldemort/client/protocol/pb/package.html
  19. +5 −0 src/java/voldemort/client/protocol/vold/package.html
  20. +1 −1 src/java/voldemort/client/rebalance/RebalanceClusterPlan.java
  21. +1 −1 src/java/voldemort/client/rebalance/RebalanceController.java
  22. +9 −0 src/java/voldemort/client/rebalance/package.html
  23. +1 −1 src/java/voldemort/cluster/failuredetector/FailureDetector.java
  24. +4 −3 src/java/voldemort/cluster/failuredetector/FailureDetectorConfig.java
  25. +9 −0 src/java/voldemort/cluster/failuredetector/package.html
  26. +5 −0 src/java/voldemort/package.html
  27. +1 −1 src/java/voldemort/routing/ZoneRoutingStrategy.java
  28. +5 −1 src/java/voldemort/routing/package.html
  29. +0 −3 src/java/voldemort/serialization/avro/AvroGenericSerializer.java
  30. +0 −3 src/java/voldemort/serialization/avro/AvroReflectiveSerializer.java
  31. +0 −3 src/java/voldemort/serialization/avro/AvroSpecificSerializer.java
  32. +5 −0 src/java/voldemort/serialization/avro/package.html
  33. +5 −0 src/java/voldemort/serialization/json/package.html
  34. +5 −0 src/java/voldemort/serialization/protobuf/package.html
  35. +5 −0 src/java/voldemort/serialization/thrift/package.html
  36. +6 −7 src/java/voldemort/server/RequestRoutingType.java
  37. +5 −0 src/java/voldemort/server/gossip/package.html
  38. +5 −0 src/java/voldemort/server/http/gui/package.html
  39. +5 −0 src/java/voldemort/server/jmx/package.html
  40. +1 −2 src/java/voldemort/server/protocol/RequestHandlerFactory.java
  41. +5 −0 src/java/voldemort/server/protocol/admin/package.html
  42. +1 −1 src/java/voldemort/server/protocol/pb/package.html
  43. +5 −0 src/java/voldemort/server/protocol/vold/package.html
  44. +9 −0 src/java/voldemort/server/rebalance/package.html
  45. +5 −0 src/java/voldemort/server/scheduler/package.html
  46. +9 −0 src/java/voldemort/server/scheduler/slop/package.html
  47. +5 −0 src/java/voldemort/server/socket/package.html
  48. +5 −0 src/java/voldemort/server/storage/package.html
  49. +3 −4 src/java/voldemort/store/StoreUtils.java
  50. +0 −3 src/java/voldemort/store/compress/GzipCompressionStrategy.java
  51. +5 −0 src/java/voldemort/store/compress/lzf/package.html
  52. +5 −0 src/java/voldemort/store/compress/package.html
  53. +1 −1 src/java/voldemort/store/configuration/package.html
  54. +5 −0 src/java/voldemort/store/gzip/package.html
  55. +5 −0 src/java/voldemort/store/http/package.html
  56. +4 −4 src/java/voldemort/store/invalidmetadata/InvalidMetadataCheckingStore.java
  57. +5 −0 src/java/voldemort/store/invalidmetadata/package.html
  58. +5 −0 src/java/voldemort/store/logging/package.html
  59. +5 −0 src/java/voldemort/store/metadata/package.html
  60. +5 −0 src/java/voldemort/store/nonblockingstore/package.html
  61. +5 −0 src/java/voldemort/store/readonly/chunk/package.html
  62. +1 −1 src/java/voldemort/store/readonly/package.html
  63. +5 −0 src/java/voldemort/store/readonly/swapper/package.html
  64. +5 −0 src/java/voldemort/store/rebalancing/package.html
  65. +0 −1 src/java/voldemort/store/routed/NodeValue.java
  66. +9 −9 src/java/voldemort/store/routed/Pipeline.java
  67. +1 −0 src/java/voldemort/store/routed/PipelineData.java
  68. +1 −2 src/java/voldemort/store/routed/PutPipelineData.java
  69. +1 −2 src/java/voldemort/store/routed/Response.java
  70. +11 −10 src/java/voldemort/store/routed/ThreadPoolRoutedStore.java
  71. +2 −2 src/java/voldemort/store/routed/action/Action.java
  72. +5 −0 src/java/voldemort/store/routed/action/package.html
  73. +5 −0 src/java/voldemort/store/slop/strategy/package.html
  74. +1 −1 src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorPool.java
  75. +5 −0 src/java/voldemort/store/socket/clientrequest/package.html
  76. +5 −0 src/java/voldemort/store/stats/package.html
  77. +5 −0 src/java/voldemort/store/views/package.html
  78. +1 −1 src/java/voldemort/utils/ByteUtils.java
  79. +0 −1 src/java/voldemort/utils/Entropy.java
  80. +2 −2 src/java/voldemort/utils/NetworkClassLoader.java
  81. +1 −1 src/java/voldemort/utils/RebalanceUtils.java
  82. +1 −1 src/java/voldemort/utils/package.html
  83. +5 −0 src/java/voldemort/utils/pool/package.html
  84. +5 −3 src/java/voldemort/versioning/ChainedResolver.java
  85. +5 −0 src/java/voldemort/xml/package.html
View
2 build.xml
@@ -5,7 +5,7 @@
<property name="name" value="voldemort" />
<property name="display.name" value="Voldemort" />
- <property name="author" value="Jay Kreps" />
+ <property name="author" value="Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao" />
<property environment="env" />
<path id="main-classpath">
View
5 contrib/ec2-testing/src/java/voldemort/utils/app/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes dealing with starting / stopping / deploying Voldemort on EC2
+ </body>
+</html>
View
5 contrib/ec2-testing/src/java/voldemort/utils/impl/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes dealing with remote command execution / data copying on EC2
+ </body>
+</html>
View
5 contrib/ec2-testing/src/java/voldemort/utils/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes related to basic EC2 utils
+ </body>
+</html>
View
5 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/benchmark/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes dealing with Benchmarking generation of read-only stores.
+ </body>
+</html>
View
5 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/checksum/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes dealing with various checksum policies for read-only stores.
+ </body>
+</html>
View
5 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/fetcher/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes dealing with fetchers associated with HDFS
+ </body>
+</html>
View
5 contrib/hadoop-store-builder/src/java/voldemort/store/readonly/mr/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Hadoop code for generating read-only stores
+ </body>
+</html>
View
5 contrib/krati/src/java/voldemort/store/krati/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Storage engine backed by Krati
+ </body>
+</html>
View
63 docs/fun_projects.txt
@@ -1,19 +1,44 @@
-Here are a few technically interesting projects that are stand-alone enough
-that someone can do them without having to learn the rest of the code
-
-1. Merkle tree log
-We want to be able to quickly compare the contents of two key-value stores so we can replicate values when (1) a new server comes online or (2) a server is down
-for an extended period of time or (3) we batch compute values offline. A merkle tree is an n-way tree of values where the
-value stored at the leaf is the checksum of a value in the datastore, and parent nodes contain the checksum of all checksums.
-This makes it possible to determine that two stores are identical (and computing the differing keys) in only a logarithmic number of comparisons.
-
-2. Future-based client
-Create a storeclient or store implementation that returns Versioned<?> objects that behave as a java.util.concurrent.Future. That is, the methods return immediately
-but the returned Versioned<?> may block when getObject() or getVersion() is called until the computation is complete. This makes it
-easy to do many parallel fetches without the client needing to do any of the threadpooling. Can this be done using the existing threadpool?
-
-3. Non-blocking server & RoutingStore
-Investigate the possibility of using java.nio for the SocketServer to potentially reduce the number of threads needed. This probably requires doing both
-the router and the server at the same time. Probably a threadsafe state machine needs to be created for each request and incremented as responses come back
-in. This probably won't make the network operations faster but will reduce the overhead of the threading involved in routing and bound the number of threads needed.
-Apache Mina may be helpful in doing this.
+This is a list of fun project ideas that no one is currently working on.
+
+a) Publish/Subscribe API
+
+Storage systems have become much more specialized in recent years with each system providing expertise in certain areas—Hadoop and proprietary data warehouses provide batch processing capabilities, Search indexes provide support for complex ranked text queries, and a variety of distributed databases have sprung up. Voldemort is a specialized key-value system, but the same data stored in Voldemort may need to be indexed by search, churned over in Hadoop, or otherwise processed by another system. Each of these systems needs the ability to subscribe to the changes happening in Voldemort and get a stream of such changes that they can process in their own specialized way.
+
+Indeed even Voldemort nodes could subscribe to one another as a quick catch-up mechanism for recovering from failure.
+
+Amazon has implemented this functionality as a “Merkle tree” data structure in their Dynamo system which allows nodes to compare their contents quickly and catch up to differences they have missed, but this is not the only approach. It could be a simple secondary index that implements a node-specific logical counter that tracks modification number for each key.
+
+The api that would be provided would be something like getAllChangesSince(int changeNumber), and this api would provide the latest change for each key.
+
+b) Operational Interface
+
+One of the primary problems for a practical distributed system is knowing the state of the system. Voldemort has a rudimentary GUI that provides basic information. This project would be to make a first rate management GUI and corresponding control functionality to be able to know the performance and availability of each node in the system as well as perform more intense operations like starting / stopping nodes, restoring from replication, rebalancing, etc.
+
+c) Scala Voldemort Shell
+
+Voldemort comes with a very simple text shell. A better way to build such a thing is to fully integrate a language with an interpreter and provide a set of predefined administrative commands as functions in the shell. Scala has a flexible syntax and integrates easily with Java so it would be a good choice for such a shell.
+
+d) Support for LevelDB storage engine
+
+Since Voldemort supports a pluggable storage engine interface, we definitely want to try out other solutions. For example, we have a Krati based storage engine in contrib. Another storage engine which is picking up a momentum is Google’s LevelDB . The first phase of this project would require building JNA / JNI bindings for the storage engine followed by the integration with Voldemort.
+
+e) REST based API
+
+Besides the existing Ruby / Python clients having a REST based API would increase adoption amongst the web community. A good v1 could derive ideas from existing well know systems like Riak
+
+f) Memcache protocol support
+
+An easy project would be to provide the same API as Memcache.
+
+g) Duplex request support
+
+Preliminary work has been done to support duplexing the our socket requests. This would minimize the impact of network latency across data-centers. Some initial thoughts can be found here [ http://github.com/kirktrue/voldemort/wiki/Duplex-Request-Response-Communication ]
+
+h) Maven support
+
+We want to add the ability to push jars in a central Maven repository.
+
+i) Better configuration system
+
+The XML files can get really out of control once the cluster size increases. Migrating from XML to YAML would alleviate this problem a bit.
+In the long term we would like to come up with a better configuration system ( Explore Zookeeper? )
View
2 src/java/voldemort/annotations/jmx/package.html
@@ -1,6 +1,6 @@
<html>
<body>
Annotations for exposing objects as JMX managed beans. The point of these is to be able to add declarative JMX management
- without requiring java 1.6.
+ without requiring Java 1.6.
</body>
</html>
View
4 src/java/voldemort/annotations/package.html
@@ -1,5 +1,5 @@
<html>
<body>
- Misc. annotations.
+ Annotations used by Voldemort
</body>
-</html>
+</html>
View
6 src/java/voldemort/client/StoreClient.java
@@ -125,8 +125,9 @@
public Version put(K key, V value);
/**
- * Like {@link voldemort.store.StoreClient#put(K, V) put}, except that the
- * given transforms are applied on the value before writing it to the store
+ * Like {@link voldemort.client.StoreClient #put(Object, Object)}, except
+ * that the given transforms are applied on the value before writing it to
+ * the store
*
* @param key the key
* @param value the value
@@ -143,7 +144,6 @@
* @param key The key
* @param versioned The value and its versioned
* @throws ObsoleteVersionException
- * @version version The version of the object
*/
public Version put(K key, Versioned<V> versioned) throws ObsoleteVersionException;
View
4 src/java/voldemort/client/package.html
@@ -6,5 +6,9 @@
HttpStoreClientFactory and SocketStoreClientFactory both abstract away the threadpool and configuration that is shared
between all the {@link voldemort.client.StoreClient StoreClients} that they will produce.
</p>
+
+ <p>
+ CachingStoreClientFactory is a wrapper around the other two factories to cache store-clients for stores which are used a lot.
+ </p>
</body>
</html>
View
19 src/java/voldemort/client/protocol/admin/AdminClient.java
@@ -422,10 +422,14 @@ private void initiateFetchRequest(DataOutputStream outputStream,
*
* @param nodeId Id of the node to fetch from
* @param storeName Name of the store
- * @param partitionList List of the partitions
+ * @param replicaToPartitionList Mapping of replica type to partition list
* @param filter Custom filter implementation to filter out entries which
* should not be fetched.
* @param fetchMasterEntries Fetch an entry only if master replica
+ * @param initialCluster The cluster metadata to use while making the
+ * decision to fetch entries. This is important during rebalancing
+ * where-in we want to fetch keys using an older metadata compared to
+ * the new one.
* @param skipRecords Number of records to skip
* @return An iterator which allows entries to be streamed as they're being
* iterated over.
@@ -852,7 +856,7 @@ public int rebalanceNode(RebalancePartitionsInfo stealInfo) {
* partitions from donorNode, merely copies them. </b>
* <p>
* See
- * {@link AdminClient#migratePartitions(int, int, String, HashMap, VoldemortFilter, Cluster)}
+ * {@link AdminClient#migratePartitions(int, int, String, HashMap, VoldemortFilter, Cluster, boolean)}
* for more details.
*
*
@@ -1535,7 +1539,7 @@ public void deleteStore(String storeName, int nodeId) {
/**
* Set cluster info for AdminClient to use.
*
- * @param cluster
+ * @param cluster Set the current cluster
*/
public void setAdminClientCluster(Cluster cluster) {
this.currentCluster = cluster;
@@ -1544,7 +1548,7 @@ public void setAdminClientCluster(Cluster cluster) {
/**
* Get the cluster info AdminClient is using.
*
- * @return
+ * @return Returns the current cluster being used by the admin client
*/
public Cluster getAdminClientCluster() {
return currentCluster;
@@ -1673,7 +1677,8 @@ public String swapStore(int nodeId, String storeName, String storeDir) {
*
* @param nodeId The id of the node on which the stores are present
* @param storeNames List of all the store names
- * @param Returns a map of store name to its corresponding RO storage format
+ * @return Returns a map of store name to its corresponding RO storage
+ * format
*/
public Map<String, String> getROStorageFormat(int nodeId, List<String> storeNames) {
VAdminProto.GetROStorageFormatRequest.Builder getRORequest = VAdminProto.GetROStorageFormatRequest.newBuilder()
@@ -1805,7 +1810,7 @@ public String swapStore(int nodeId, String storeName, String storeDir) {
* where-in we find the max versions on each machine and then return the max
* of all of them
*
- * @param storeName List of all read-only stores
+ * @param storeNames List of all read-only stores
* @return A map of store-name to their corresponding max version id
*/
public Map<String, Long> getROMaxVersion(List<String> storeNames) {
@@ -2036,13 +2041,13 @@ public void fetchPartitionFiles(int nodeId,
* @param transitionCluster Transition cluster
* @param rebalancePartitionPlanList The list of rebalance partition info
* plans
- * @param completedNodeIds Set of node ids which have completed successfully
* @param swapRO Boolean indicating if we need to swap RO stores
* @param changeClusterMetadata Boolean indicating if we need to change
* cluster metadata
* @param changeRebalanceState Boolean indicating if we need to change
* rebalancing state
* @param rollback Do we want to do a rollback step in case of failures?
+ * @param failEarly Do we want to fail early while doing state change?
*/
public void rebalanceStateChange(Cluster existingCluster,
Cluster transitionCluster,
View
5 src/java/voldemort/client/protocol/admin/filter/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes that deal with filters that can be used by our streaming API
+ </body>
+</html>
View
5 src/java/voldemort/client/protocol/admin/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes that abstract admin based Voldemort requests.
+ </body>
+</html>
View
2 src/java/voldemort/client/protocol/pb/package.html
@@ -2,7 +2,7 @@
<body>
A protocol buffers based client-side request format.
<p>
- Provides a protocol buffers based implementation of {@link voldemort.client.protocol.RequestFormat}
+ Provides a protocol buffers based implementation of {@link voldemort.client.protocol.RequestFormat}
</p>
</body>
</html>
View
5 src/java/voldemort/client/protocol/vold/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes specific to our native Voldemort protocol.
+ </body>
+</html>
View
2 src/java/voldemort/client/rebalance/RebalanceClusterPlan.java
@@ -46,7 +46,7 @@
*
* @param currentCluster The current cluster definition
* @param targetCluster The target cluster definition
- * @param storeDefList The list of store definitions to rebalance
+ * @param storeDefs The list of store definitions to rebalance
* @param enabledDeletePartition Delete the RW partition on the donor side
* after rebalance
*/
View
2 src/java/voldemort/client/rebalance/RebalanceController.java
@@ -99,7 +99,7 @@ public void rebalance(Cluster currentCluster, final Cluster targetCluster) {
* Does basic verification of the metadata + server state. Finally starts
* the rebalancing.
*
- * @param newCurrentCluster The cluster currently used on each node
+ * @param currentCluster The cluster currently used on each node
* @param targetCluster The desired cluster after rebalance
* @param storeDefs Stores to rebalance
*/
View
9 src/java/voldemort/client/rebalance/package.html
@@ -0,0 +1,9 @@
+<html>
+ <body>
+ All classes associated with the rebalance controller tool.
+
+ <p>
+ The main controller is {@link voldemort.client.rebalance.RebalanceController}
+ </p>
+ </body>
+</html>
View
2 src/java/voldemort/cluster/failuredetector/FailureDetector.java
@@ -63,7 +63,7 @@
* recordException and recordSuccess should (not must) provide some input to the
* internal algorithm.
*
- * @see RoutedStore
+ * @see voldemort.store.routed.RoutedStore
*/
public interface FailureDetector {
View
7 src/java/voldemort/cluster/failuredetector/FailureDetectorConfig.java
@@ -99,7 +99,7 @@ public FailureDetectorConfig() {
/**
* Constructs a new FailureDetectorConfig from a server perspective (via
* {@link VoldemortConfig}).
- *
+ *
* <p/>
*
* <b>Note</b>: the {@link #setNodes(Collection)} and
@@ -353,7 +353,7 @@ public long getThresholdInterval() {
* <b>Note</b>: this is only used by the {@link ThresholdFailureDetector}
* implementation.
*
- * @param Millisecond interval for the success ratio
+ * @param thresholdInterval Millisecond interval for the success ratio
*
* @exception IllegalArgumentException Thrown if the thresholdInterval
* parameter is less than or equal to 0
@@ -404,7 +404,8 @@ public long getAsyncRecoveryInterval() {
* {@link AsyncRecoveryFailureDetector} and {@link ThresholdFailureDetector}
* implementations.
*
- * @param Number of milliseconds to wait between recovery attempts
+ * @param asyncRecoveryInterval Number of milliseconds to wait between
+ * recovery attempts
*
* @exception IllegalArgumentException Thrown if the thresholdInterval
* parameter is less than or equal to 0
View
9 src/java/voldemort/cluster/failuredetector/package.html
@@ -0,0 +1,9 @@
+<html>
+ <body>
+ Classes associated with client side failure detectors.
+
+ <p>
+ We currently support two types of failure detectors - {@link voldemort.cluster.failuredetector.BannagePeriodFailureDetector} and {@link voldemort.cluster.failuredetector.ThresholdFailureDetector}
+ </p>
+ </body>
+</html>
View
5 src/java/voldemort/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ The root package. Place for all shell tools.
+ </body>
+</html>
View
2 src/java/voldemort/routing/ZoneRoutingStrategy.java
@@ -51,7 +51,7 @@ public ZoneRoutingStrategy(HashFunction hash,
/**
* Get the replication partitions list for the given partition.
*
- * @param partitionId
+ * @param index Partition id for which we are generating the preference list
* @return The List of partitionId where this partition is replicated.
*/
@Override
View
6 src/java/voldemort/routing/package.html
@@ -1,5 +1,9 @@
<html>
<body>
- Routing strategies for mapping requests into the Voldemort cluster.
+ Routing strategies for mapping requests into the Voldemort cluster.
+
+ <p>
+ Couple of implementations here - normal consistent hashing ( {@link voldemort.routing.ConsistentRoutingStrategy} ) and zone based routing ( {@link voldemort.routing.ZoneRoutingStrategy})
+ </p>
</body>
</html>
View
3 src/java/voldemort/serialization/avro/AvroGenericSerializer.java
@@ -35,9 +35,6 @@
* representation is best for applications which deal with dynamic data, whose
* schemas are not known until runtime.
*
- * @see http
- * ://hadoop.apache.org/avro/docs/current/api/java/org/apache/avro/generic
- * /package-summary.html
*/
public class AvroGenericSerializer implements Serializer<Object> {
View
3 src/java/voldemort/serialization/avro/AvroReflectiveSerializer.java
@@ -47,9 +47,6 @@
* <strong>For now we only support the class case.</strong>
* </p>
*
- * @see http
- * ://hadoop.apache.org/avro/docs/current/api/java/org/apache/avro/reflect
- * /package-summary.html
*/
public class AvroReflectiveSerializer<T> implements Serializer<T> {
View
3 src/java/voldemort/serialization/avro/AvroSpecificSerializer.java
@@ -43,9 +43,6 @@
* recommended.
* </p>
*
- * @see http
- * ://avro.apache.org/docs/1.4.1/api/java/org/apache/avro/specific/package
- * -summary.html
*/
public class AvroSpecificSerializer<T extends SpecificRecord> implements Serializer<T> {
View
5 src/java/voldemort/serialization/avro/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes associated with Avro specific serializers
+ </body>
+</html>
View
5 src/java/voldemort/serialization/json/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes associated with our custom binary JSON serializers
+ </body>
+</html>
View
5 src/java/voldemort/serialization/protobuf/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes associated with Protocol buffers serializers
+ </body>
+</html>
View
5 src/java/voldemort/serialization/thrift/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes associated with Thrift serializers
+ </body>
+</html>
View
13 src/java/voldemort/server/RequestRoutingType.java
@@ -14,12 +14,12 @@ private RequestRoutingType(int routingType) {
}
/**
- * ignore checks takes precedence over should_route and force it to be local
+ * Ignore checks takes precedence over should_route and force it to be local
* store.
*
- * @param should_route
- * @param ignore_checks
- * @return
+ * @param should_route Requests which are forcefully routed
+ * @param ignore_checks Ignore the checks for metadata
+ * @return The enum corresponding to the flags
*/
public static RequestRoutingType getRequestRoutingType(boolean should_route,
boolean ignore_checks) {
@@ -40,9 +40,8 @@ public int getRoutingTypeCode() {
* ignore checks takes precedence over should_route and force it to be local
* store.
*
- * @param should_route
- * @param ignore_checks
- * @return
+ * @param routingCode The routing code
+ * @return The corresponding enum
*/
public static RequestRoutingType getRequestRoutingType(int routingCode) {
switch(routingCode) {
View
5 src/java/voldemort/server/gossip/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes associated with the Gossip feature.
+ </body>
+</html>
View
5 src/java/voldemort/server/http/gui/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Simple GUI. Better version can be found in contrib/web-manager
+ </body>
+</html>
View
5 src/java/voldemort/server/jmx/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Service which deals with the JMX registration
+ </body>
+</html>
View
3 src/java/voldemort/server/protocol/RequestHandlerFactory.java
@@ -4,8 +4,7 @@
/**
* A factory that gets the appropriate request handler for a given
- * {@link voldemort.client.RequestFormatType}.
- *
+ * {@link voldemort.client.protocol.RequestFormatType}.
*
*/
public interface RequestHandlerFactory {
View
5 src/java/voldemort/server/protocol/admin/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Server side implementation of admin based requests
+ </body>
+</html>}.
View
2 src/java/voldemort/server/protocol/pb/package.html
@@ -1,5 +1,5 @@
<html>
<body>
- A protocol buffers based @{link voldemort.server.protocol.RequestHandler
+ Server side handling of protocol buffer based requests
</body>
</html>}.
View
5 src/java/voldemort/server/protocol/vold/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Server side handling of native Voldemort protocol requests
+ </body>
+</html>}.
View
9 src/java/voldemort/server/rebalance/package.html
@@ -0,0 +1,9 @@
+<html>
+ <body>
+ Classes dealing with rebalancing on the server side.
+
+ <p>
+ This includes the service dealing with rebalancing + state information
+ </p>
+ </body>
+</html>}.
View
5 src/java/voldemort/server/scheduler/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ The scheduler service ( which runs a job every n minutes ) + The actual jobs as well.
+ </body>
+</html>
View
9 src/java/voldemort/server/scheduler/slop/package.html
@@ -0,0 +1,9 @@
+<html>
+ <body>
+ The background jobs associated with the slop store.
+
+ <p>
+ This is used by the Hinted handoff feature.
+ </p>
+ </body>
+</html>
View
5 src/java/voldemort/server/socket/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ The services on the server side which handle normal + admin requests
+ </body>
+</html>
View
5 src/java/voldemort/server/storage/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ The storage service which handles instantiating all the stores and their corresponding engines.
+ </body>
+</html>
View
7 src/java/voldemort/store/StoreUtils.java
@@ -41,8 +41,7 @@
import com.google.common.collect.Maps;
/**
- * Check that the given key is valid
- *
+ * Group of store utilities
*
*/
public class StoreUtils {
@@ -109,7 +108,7 @@ public static void assertValidKeys(Iterable<?> keys) {
* This is typically used in finally blocks to prevent an exception thrown
* during close from hiding an exception thrown inside the try.
*
- * @param stream the Closeable to close, may be null.
+ * @param c The Closeable to close, may be null.
*/
public static void close(Closeable c) {
if(c != null) {
@@ -127,7 +126,7 @@ public static void close(Closeable c) {
*
* @param key The key we are checking
* @param routingStrategy The routing strategy
- * @param currentNodeId Current node id
+ * @param currentNode Current node
*/
public static void assertValidMetadata(ByteArray key,
RoutingStrategy routingStrategy,
View
3 src/java/voldemort/store/compress/GzipCompressionStrategy.java
@@ -9,9 +9,6 @@
/**
* Implementation of CompressionStrategy for the gzip format.
*/
-/*
- * In the future we may want to support different compression levels.
- */
public class GzipCompressionStrategy extends StreamCompressionStrategy {
@Override
View
5 src/java/voldemort/store/compress/lzf/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes associated with LZF compression on storage side.
+ </body>
+</html>
View
5 src/java/voldemort/store/compress/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes associated with compression on the server ( storage ) side.
+ </body>
+</html>
View
2 src/java/voldemort/store/configuration/package.html
@@ -1,5 +1,5 @@
<html>
<body>
- A storage engine to persist metadata on a server. bootstraps files from filesystem and keep backups.
+ A storage engine to persist metadata on a server. Bootstraps files from filesystem and saves backups.
</body>
</html>
View
5 src/java/voldemort/store/gzip/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Storage engine which gzips the content before delegating it down.
+ </body>
+</html>
View
5 src/java/voldemort/store/http/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ HTTP based storage engine
+ </body>
+</html>
View
8 src/java/voldemort/store/invalidmetadata/InvalidMetadataCheckingStore.java
@@ -48,10 +48,10 @@
* throws {@link InvalidMetadataException} if the partition for key
* requested should not lie with this node.
*
- * @param node The id of the destination node
- * @param innerStore The store which we delegate write operations to
- * @param routingStrategy the routing stratgey for this cluster
- * configuration.
+ * @param nodeId The id of the destination node
+ * @param innerStore The store which we delegate write operations to if
+ * everything is good
+ * @param metadata The metadata store
*/
public InvalidMetadataCheckingStore(int nodeId,
Store<ByteArray, byte[], byte[]> innerStore,
View
5 src/java/voldemort/store/invalidmetadata/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Server side store which checks whether the tuples coming to this node are valid. If not, it throws a {@link voldemort.store.InvalidMetadataException}
+ </body>
+</html>
View
5 src/java/voldemort/store/logging/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ A wrapper store which deals with logging.
+ </body>
+</html>
View
5 src/java/voldemort/store/metadata/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Our in-memory metadata store on the server which is backed by the configuration files.
+ </body>
+</html>
View
5 src/java/voldemort/store/nonblockingstore/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Non-blocking store which deals with async requests. Used on the client side.
+ </body>
+</html>
View
5 src/java/voldemort/store/readonly/chunk/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Read-only store classes for understanding various format changes.
+ </body>
+</html>
View
2 src/java/voldemort/store/readonly/package.html
@@ -1,5 +1,5 @@
<html>
<body>
- A storage engine that provides very efficient read-only access to large sorted files of data.
+ A storage engine that provides very efficient read-only access to large sorted files of data.
</body>
</html>
View
5 src/java/voldemort/store/readonly/swapper/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes used for fetching and swapping read-only stores.
+ </body>
+</html>
View
5 src/java/voldemort/store/rebalancing/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Server side wrapper stores used for redirection during rebalancing.
+ </body>
+</html>
View
1 src/java/voldemort/store/routed/NodeValue.java
@@ -31,7 +31,6 @@
*
* @param <K> The type of the key
* @param <V> The type of the value
- * @param <T> The type of transforms to be applied on <V>
*
*/
public final class NodeValue<K, V> implements Serializable, Cloneable {
View
18 src/java/voldemort/store/routed/Pipeline.java
@@ -33,10 +33,9 @@
* {@link Action} is executed in response to the Pipeline receiving an event.
* The majority of the events are self-initiated from within the Pipeline
* itself. The only case thus-far where external entities create events are in
- * response to asynchronous responses from servers ({@link AcknowledgeResponse},
- * for example). A {@link Response} instance is created on completion of an
- * asynchronous request and is fed back into the Pipeline where an appropriate
- * 'response handler' action is executed.
+ * response to asynchronous responses from servers. A {@link Response} instance
+ * is created on completion of an asynchronous request and is fed back into the
+ * Pipeline where an appropriate 'response handler' action is executed.
*
* <p/>
*
@@ -124,9 +123,8 @@ public void addEventAction(Event event, Action action) {
}
/**
- * Pipeline can't proceed further. If hinted handoff is enabled go to
- * go to a state where it can be performed, otherwise go straight to
- * error state.
+ * Pipeline can't proceed further. If hinted handoff is enabled go to go to
+ * a state where it can be performed, otherwise go straight to error state.
*/
public void abort() {
@@ -187,7 +185,8 @@ public void execute() {
}
if(event == null)
- throw new VoldemortException(operation.getSimpleName() + " returned a null event");
+ throw new VoldemortException(operation.getSimpleName()
+ + " returned a null event");
if(event.equals(Event.ERROR)) {
if(logger.isTraceEnabled())
@@ -209,7 +208,8 @@ public void execute() {
if(logger.isTraceEnabled())
logger.trace(operation.getSimpleName() + " request, action "
- + action.getClass().getSimpleName() + " to handle " + event + " event");
+ + action.getClass().getSimpleName() + " to handle " + event
+ + " event");
action.execute(this);
}
View
1 src/java/voldemort/store/routed/PipelineData.java
@@ -22,6 +22,7 @@
import voldemort.VoldemortException;
import voldemort.cluster.Node;
+import voldemort.store.routed.Pipeline.Event;
/**
* PipelineData includes a common set of data that is used to represent the
View
3 src/java/voldemort/store/routed/PutPipelineData.java
@@ -81,7 +81,7 @@ public void setVersionedCopy(Versioned<byte[]> versionedCopy) {
/**
* Set start time to perform timeout correctly
*
- * @param nanoTime
+ * @param startTimeNs
*/
public void setStartTimeNs(long startTimeNs) {
this.startTimeNs = startTimeNs;
@@ -90,7 +90,6 @@ public void setStartTimeNs(long startTimeNs) {
/**
* Get start time to perform timeout correctly
*
- * @param nanoTime
*/
public long getStartTimeNs() {
return this.startTimeNs;
View
3 src/java/voldemort/store/routed/Response.java
@@ -37,7 +37,7 @@
* {@link NonblockingStore} will invoke the {@link NonblockingStoreCallback}
* instances's <code>requestComplete</code> method which will in turn package up
* the data in a Response object that is sent to the {@link Pipeline} via an
- * {@link Event#RESPONSE_RECEIVED} event.
+ * {@link Event#RESPONSES_RECEIVED} event.
*
* <p/>
*
@@ -54,7 +54,6 @@
* @param <K> Type for the key used in the request
* @param <V> Type for the value returned by the call
*
- * @see BasicResponseCallback
* @see NonblockingStore
* @see NonblockingStoreCallback
* @see Pipeline
View
21 src/java/voldemort/store/routed/ThreadPoolRoutedStore.java
@@ -89,12 +89,12 @@
*
* @param name The name of the store
* @param innerStores The mapping of node to client
- * @param routingStrategy The strategy for choosing a node given a key
- * @param requiredReads The minimum number of reads that must complete
- * before the operation will return
- * @param requiredWrites The minimum number of writes that must complete
- * before the operation will return
+ * @param cluster The cluster metadata
+ * @param storeDef The store definition
* @param numberOfThreads The number of threads in the threadpool
+ * @param repairReads Do we want to do read repairs?
+ * @param timeoutMs The timeout in ms
+ * @param failureDetector The failure detector implementation
*/
public ThreadPoolRoutedStore(String name,
Map<Integer, Store<ByteArray, byte[], byte[]>> innerStores,
@@ -120,12 +120,13 @@ public ThreadPoolRoutedStore(String name,
*
* @param name The name of the store
* @param innerStores The mapping of node to client
- * @param routingStrategy The strategy for choosing a node given a key
- * @param requiredReads The minimum number of reads that must complete
- * before the operation will return
- * @param requiredWrites The minimum number of writes that must complete
- * before the operation will return
+ * @param cluster The cluster metadata
+ * @param storeDef The store definition
+ * @param repairReads Do we want to do read repairs?
* @param threadPool The threadpool to use
+ * @param timeoutMs The timeout in ms
+ * @param failureDetector The failure detector implementation
+ * @param time Time instance
*/
public ThreadPoolRoutedStore(String name,
Map<Integer, Store<ByteArray, byte[], byte[]>> innerStores,
View
4 src/java/voldemort/store/routed/action/Action.java
@@ -31,9 +31,9 @@
* <p/>
*
* Actions are mapped to events by the {@link Pipeline} via the
- * {@link Pipeline#setEventActions(java.util.Map)} method.
+ * {@link Pipeline#addEventAction(Event, Action)} method.
*
- * @see Pipeline#setEventActions(java.util.Map)
+ * @see Pipeline#addEventAction(Event, Action)
*/
public interface Action {
View
5 src/java/voldemort/store/routed/action/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes representing various states for the state based routing stores.
+ </body>
+</html>
View
5 src/java/voldemort/store/slop/strategy/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Bunch of different ways in which we would store failed requests for the Hinted handoff feature.
+ </body>
+</html>
View
2 src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorPool.java
@@ -144,7 +144,7 @@ private void updateStats(long checkoutTimeNs) {
* Check the socket back into the pool.
*
* @param destination The socket destination of the socket
- * @param socket The socket to check back in
+ * @param clientRequestExecutor The request executor wrapper
*/
public void checkin(SocketDestination destination, ClientRequestExecutor clientRequestExecutor) {
try {
View
5 src/java/voldemort/store/socket/clientrequest/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ More classes related to how to parse client requests
+ </body>
+</html>
View
5 src/java/voldemort/store/stats/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Store wrappers which deal with statistics
+ </body>
+</html>
View
5 src/java/voldemort/store/views/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes related to Views and server side transforms
+ </body>
+</html>
View
2 src/java/voldemort/utils/ByteUtils.java
@@ -422,7 +422,7 @@ public static int compare(byte[] b1, byte[] b2) {
*
* @param b1 The first array
* @param b2 The second array
- * @param from The offset in b2 from which to compare
+ * @param offset The offset in b2 from which to compare
* @param to The least offset in b2 which we don't compare
* @return -1 if b1 < b2, 1 if b1 > b2, and 0 if they are equal
*/
View
1 src/java/voldemort/utils/Entropy.java
@@ -41,7 +41,6 @@
* Entropy constructor. Uses DEFAULT_NUM_KEYS number of keys
*
* @param nodeId Node id. If -1, goes over all of them
- * @param numThreads Number of threads
*/
public Entropy(int nodeId) {
this.nodeId = nodeId;
View
4 src/java/voldemort/utils/NetworkClassLoader.java
@@ -53,8 +53,8 @@ public NetworkClassLoader(ClassLoader parentClassLoader) {
* call {@link ClassLoader#getResource(String)} internally to find the class
* file and then dump the bytes[]
*
- * @param cl
- * @return
+ * @param cl The class
+ * @return Byte representation of the class
* @throws IOException
*/
public byte[] dumpClass(Class<?> cl) throws IOException {
View
2 src/java/voldemort/utils/RebalanceUtils.java
@@ -442,7 +442,7 @@ public static boolean checkKeyBelongsToPartition(int nodeId,
/**
* Check the execution state of the server by checking the state of
- * {@link MetadataStore.VoldemortState} <br>
+ * {@link VoldemortState} <br>
*
* This function checks if the nodes are all in normal state (
* {@link VoldemortState#NORMAL_SERVER}).
View
2 src/java/voldemort/utils/package.html
@@ -1,5 +1,5 @@
<html>
<body>
- Helper functions.
+ Basic helper functions.
</body>
</html>
View
5 src/java/voldemort/utils/pool/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Resource pool implementation which works! Used on the client side for storing the pool of connections.
+ </body>
+</html>
View
8 src/java/voldemort/versioning/ChainedResolver.java
@@ -50,12 +50,14 @@ public ChainedResolver(InconsistencyResolver<T>... resolvers) {
@Override
public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
+ if(this == o)
+ return true;
+ if(o == null || getClass() != o.getClass())
+ return false;
ChainedResolver that = (ChainedResolver) o;
- if (resolvers != null ? !resolvers.equals(that.resolvers) : that.resolvers != null)
+ if(resolvers != null ? !resolvers.equals(that.resolvers) : that.resolvers != null)
return false;
return true;
View
5 src/java/voldemort/xml/package.html
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ Classes related to parsing our metadata ( cluster + store definition )
+ </body>
+</html>

0 comments on commit 1ce9886

Please sign in to comment.