diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF index fcbba424dd..08a19d78e9 100644 --- a/META-INF/MANIFEST.MF +++ b/META-INF/MANIFEST.MF @@ -1,7 +1,8 @@ Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 20.2-b06 (Sun Microsystems Inc.) +Voldemort-Implementation-Version: 1.3.0 Implementation-Title: Voldemort -Implementation-Version: 1.2.0 +Implementation-Version: 1.3.0 Implementation-Vendor: LinkedIn diff --git a/contrib/ec2-testing/test/voldemort/utils/Ec2GossipTest.java b/contrib/ec2-testing/test/voldemort/utils/Ec2GossipTest.java index d92c9b993f..b3fc661011 100644 --- a/contrib/ec2-testing/test/voldemort/utils/Ec2GossipTest.java +++ b/contrib/ec2-testing/test/voldemort/utils/Ec2GossipTest.java @@ -1,3 +1,18 @@ +/* + * Copyright 2013 LinkedIn, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ package voldemort.utils; import static org.junit.Assert.assertEquals; diff --git a/contrib/ec2-testing/test/voldemort/utils/Ec2RebalanceTest.java b/contrib/ec2-testing/test/voldemort/utils/Ec2RebalanceTest.java index 3a1ae88b70..448a733c68 100644 --- a/contrib/ec2-testing/test/voldemort/utils/Ec2RebalanceTest.java +++ b/contrib/ec2-testing/test/voldemort/utils/Ec2RebalanceTest.java @@ -1,3 +1,18 @@ +/* + * Copyright 2013 LinkedIn, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ package voldemort.utils; import static voldemort.utils.Ec2RemoteTestUtils.createInstances; diff --git a/src/java/voldemort/server/protocol/admin/FullScanFetchStreamRequestHandler.java b/src/java/voldemort/server/protocol/admin/FullScanFetchStreamRequestHandler.java index bedacc9680..7d63e1baab 100644 --- a/src/java/voldemort/server/protocol/admin/FullScanFetchStreamRequestHandler.java +++ b/src/java/voldemort/server/protocol/admin/FullScanFetchStreamRequestHandler.java @@ -1,3 +1,18 @@ +/* + * Copyright 2013 LinkedIn, Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ package voldemort.server.protocol.admin; import java.io.DataOutputStream; diff --git a/src/java/voldemort/utils/ClusterInstance.java b/src/java/voldemort/utils/ClusterInstance.java index 7b83a7cbee..c2808250e8 100644 --- a/src/java/voldemort/utils/ClusterInstance.java +++ b/src/java/voldemort/utils/ClusterInstance.java @@ -27,6 +27,8 @@ import com.google.common.collect.Maps; +// TODO: Add ClusterInstanceTest unit test for these helper methods. + /** * This class wraps up a Cluster object and a List. The methods * are effectively helper or util style methods for analyzing partitions and so @@ -34,6 +36,10 @@ */ public class ClusterInstance { + // TODO: (refactor) Improve upon the name "ClusterInstance". Object-oriented + // meaning of 'instance' is too easily confused with system notion of an + // "instance of a cluster" (the intended usage in this class name). + private final Cluster cluster; private final List storeDefs; diff --git a/src/java/voldemort/utils/ClusterUtils.java b/src/java/voldemort/utils/ClusterUtils.java index 824d993c9e..54ad791a18 100644 --- a/src/java/voldemort/utils/ClusterUtils.java +++ b/src/java/voldemort/utils/ClusterUtils.java @@ -32,6 +32,10 @@ import com.google.common.collect.Maps; +// TODO: (refactor) Move all of the static "util" methods for which Cluster is +// the only complex type that the method operates on to be members of the +// Cluster class. Unclear whether 'nodeid' and 'partitionid' should be treated +// as complex types since they are proxies for complicated concepts. /** * ClusterUtils provides basic tools for manipulating and inspecting a cluster. * diff --git a/src/java/voldemort/utils/NodeUtils.java b/src/java/voldemort/utils/NodeUtils.java index 3512d81573..117cc7d2c2 100644 --- a/src/java/voldemort/utils/NodeUtils.java +++ b/src/java/voldemort/utils/NodeUtils.java @@ -27,6 +27,11 @@ import com.google.common.collect.Sets; +// TODO: (refactor) Move all of the static "util" methods for which Node is +// the only complex type that the method operates on to be members of the +// Cluster class. Unclear how to treat the Integer and List types of partition +// ids... + /** * NodeUtils provides basic tools for manipulating and inspecting nodes. * diff --git a/src/java/voldemort/utils/RebalanceClusterUtils.java b/src/java/voldemort/utils/RebalanceClusterUtils.java index 9bbc54d0dd..110eaa66b4 100644 --- a/src/java/voldemort/utils/RebalanceClusterUtils.java +++ b/src/java/voldemort/utils/RebalanceClusterUtils.java @@ -42,6 +42,10 @@ */ public class RebalanceClusterUtils { + // TODO: (refactor) Improve upon the name "RebalanceClusterUtils". All of + // these util methods support moving partitions around a cluster to achieve + // better balance. + private static Logger logger = Logger.getLogger(RebalanceClusterUtils.class); /** @@ -371,6 +375,8 @@ public static Cluster balancePrimaryPartitionsPerNode(final Cluster targetCluste return returnCluster; } + // TODO: Add a similar method that rebalances a cluster to ensure that no + // Node hosts contiguous partition IDs (rather than doing so at zone level). /** * Loops over cluster and repeatedly tries to break up contiguous runs of * partitions. After each phase of breaking up contiguous partitions, random diff --git a/src/java/voldemort/utils/StoreInstance.java b/src/java/voldemort/utils/StoreInstance.java index 1edf099879..bc731b9371 100644 --- a/src/java/voldemort/utils/StoreInstance.java +++ b/src/java/voldemort/utils/StoreInstance.java @@ -30,14 +30,19 @@ import com.google.common.collect.Lists; +// TODO: Add StoreInstanceTest unit test for these helper methods. + /** * This class wraps up a Cluster object and a StoreDefinition. The methods are * effectively helper or util style methods for analyzing partitions and so on * which are a function of both Cluster and StoreDefinition. */ -// TODO: Add StoreInstanceTest unit test for these helper methods. public class StoreInstance { + // TODO: (refactor) Improve upon the name "StoreInstance". Object-oriented + // meaning of 'instance' is too easily confused with system notion of an + // "instance of a cluster" (the intended usage in this class name). + private final Cluster cluster; private final StoreDefinition storeDefinition;