You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by ni...@apache.org on 2013/06/21 22:23:44 UTC
[2/2] git commit: updated refs/heads/trunk to 52c88d8
GIRAPH-623: Website Documentation: table of parameters
Project: http://git-wip-us.apache.org/repos/asf/giraph/repo
Commit: http://git-wip-us.apache.org/repos/asf/giraph/commit/52c88d8d
Tree: http://git-wip-us.apache.org/repos/asf/giraph/tree/52c88d8d
Diff: http://git-wip-us.apache.org/repos/asf/giraph/diff/52c88d8d
Branch: refs/heads/trunk
Commit: 52c88d8d9850c49deed9c15f658b05b72855d488
Parents: d333c40
Author: Nitay Joffe <ni...@fb.com>
Authored: Fri Jun 21 16:22:13 2013 -0400
Committer: Nitay Joffe <ni...@fb.com>
Committed: Fri Jun 21 16:23:32 2013 -0400
----------------------------------------------------------------------
CHANGELOG | 2 +
.../apache/giraph/conf/AbstractConfOption.java | 14 +-
.../java/org/apache/giraph/conf/AllOptions.java | 99 ++-
.../apache/giraph/conf/BooleanConfOption.java | 6 +-
.../org/apache/giraph/conf/ClassConfOption.java | 12 +-
.../org/apache/giraph/conf/EnumConfOption.java | 11 +-
.../org/apache/giraph/conf/FloatConfOption.java | 5 +-
.../org/apache/giraph/conf/GiraphConstants.java | 386 +++++++---
.../org/apache/giraph/conf/IntConfOption.java | 10 +-
.../org/apache/giraph/conf/LongConfOption.java | 5 +-
.../org/apache/giraph/conf/StrConfOption.java | 5 +-
.../multi/EdgeInputFormatDescription.java | 8 +-
.../multi/VertexInputFormatDescription.java | 8 +-
.../giraph/jython/JythonComputationFactory.java | 9 +-
.../giraph/examples/GeneratedEdgeReader.java | 3 +-
.../giraph/examples/GeneratedVertexReader.java | 6 +-
.../SimpleShortestPathsComputation.java | 3 +-
.../giraph/hive/common/GiraphHiveConstants.java | 15 +-
.../giraph/hive/common/HiveInputOptions.java | 20 +-
src/site/site.xml | 1 +
src/site/xdoc/options.xml | 741 +++++++++++++++++++
21 files changed, 1203 insertions(+), 166 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 342faec..9db2013 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,8 @@
Giraph Change Log
Release 1.1.0 - unreleased
+ GIRAPH-623: Website Documentation: table of parameters (armax00 via nitay)
+
GIRAPH-694 Setting configuration in GiraphConfiguration causes
non thread safe copies (aching)
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/AbstractConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/AbstractConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/AbstractConfOption.java
index e1ab802..cef65d6 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/AbstractConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/AbstractConfOption.java
@@ -34,13 +34,18 @@ public abstract class AbstractConfOption
/** Key for configuration */
private final String key;
+ /** Configuration option description */
+ private final String description;
+
/**
* Constructor
*
* @param key configuration key
+ * @param description configuration description
*/
- public AbstractConfOption(String key) {
+ public AbstractConfOption(String key, String description) {
this.key = key;
+ this.description = description;
}
public String getKey() {
@@ -48,6 +53,13 @@ public abstract class AbstractConfOption
}
/**
+ * @return the description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
* Check if option is set in configuration
*
* @param conf Configuration
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/AllOptions.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/AllOptions.java b/giraph-core/src/main/java/org/apache/giraph/conf/AllOptions.java
index 68b3ed9..1f9fb78 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/AllOptions.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/AllOptions.java
@@ -17,26 +17,32 @@
*/
package org.apache.giraph.conf;
-import org.apache.log4j.Logger;
-
-import com.google.common.collect.Lists;
+import static org.apache.giraph.conf.GiraphConstants.COMPUTATION_CLASS;
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+import java.io.IOException;
import java.util.Collections;
import java.util.List;
-import static org.apache.giraph.conf.GiraphConstants.COMPUTATION_CLASS;
+import org.apache.log4j.Logger;
+
+import com.google.common.collect.Lists;
/**
* Tracks all of the Giraph options
*/
public class AllOptions {
- /** Logger */
+ /** logger object */
private static final Logger LOG = Logger.getLogger(AllOptions.class);
/** Configuration options */
private static final List<AbstractConfOption> CONF_OPTIONS =
Lists.newArrayList();
+ /** page name for the HTML page generation */
+ private static final String PAGE_NAME = "Giraph Options";
+
/** Don't construct */
private AllOptions() { }
@@ -71,6 +77,72 @@ public class AllOptions {
}
/**
+ * HTML String representation of all the options stored
+ * @return String the HTML representation of the registered options
+ */
+ public static String allOptionsHTMLString() {
+ Collections.sort(CONF_OPTIONS);
+ StringBuilder sb = new StringBuilder(CONF_OPTIONS.size() * 30);
+
+ sb.append("<?xml version='1.0' encoding='UTF-8'?>\n" +
+ "<!--\n" +
+ "Licensed to the Apache Software Foundation (ASF) under one\n" +
+ "or more contributor license agreements. See the NOTICE file\n" +
+ "distributed with this work for additional information\n" +
+ "regarding copyright ownership. The ASF licenses this file\n" +
+ "to you under the Apache License, Version 2.0 (the\n" +
+ "'License'); you may not use this file except in compliance\n" +
+ "with the License. You may obtain a copy of the License at\n" +
+ "\n" +
+ " http://www.apache.org/licenses/LICENSE-2.0\n" +
+ "\n" +
+ "Unless required by applicable law or agreed to in writing,\n" +
+ "software distributed under the License is distributed on an\n" +
+ "'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n" +
+ "KIND, either express or implied. See the License for the\n" +
+ "specific language governing permissions and limitations\n" +
+ "under the License.\n" +
+ "-->\n" +
+ "\n" +
+ "<document xmlns='http://maven.apache.org/XDOC/2.0'\n" +
+ " xmlns:xsi='http://www.w3.org/2001/" +
+ "XMLSchema-instance'\n" +
+ " xsi:schemaLocation='" +
+ "http://maven.apache.org/XDOC/2.0 " +
+ " http://maven.apache.org/xsd/xdoc-2.0.xsd'>\n" +
+ " <properties>\n" +
+ " <title>" + PAGE_NAME + "</title>\n" +
+ " </properties>\n" +
+ " <body>\n" +
+ " <section name='" + PAGE_NAME + "'>\n" +
+ " <table border='0' style='width:110%; max-width:110%'>\n" +
+ " <tr>\n" +
+ " <th>label</th>\n" +
+ " <th>type</th>\n" +
+ " <th>default value</th>\n" +
+ " <th>description</th>\n" +
+ " </tr>\n");
+
+ for (AbstractConfOption confOption : CONF_OPTIONS) {
+ String type = confOption.getType().toString().toLowerCase();
+
+ sb.append(" <tr>\n");
+ sb.append(" <td>" + confOption.getKey() + "</td>\n");
+ sb.append(" <td>" + type + "</td>\n");
+ sb.append(" <td>" + confOption.getDefaultValueStr() + "</td>\n");
+ sb.append(" <td>" + confOption.getDescription() + "</td>\n");
+ sb.append(" </tr>\n");
+ }
+
+ sb.append(" </table>\n" +
+ " </section>\n" +
+ " </body>\n" +
+ "</document>\n");
+
+ return sb.toString();
+ }
+
+ /**
* Command line utility to dump all Giraph options
*
* @param args cmdline args
@@ -80,6 +152,23 @@ public class AllOptions {
// get loaded. Without it we get no output.
COMPUTATION_CLASS.toString();
+ // in case an options was specified, this option is treated as the output
+ // file in which to write the HTML version of the list of available options
+ if (args.length == 1) {
+ String html = allOptionsHTMLString();
+
+ try {
+ FileWriter fs = new FileWriter(args[0]);
+ BufferedWriter out = new BufferedWriter(fs);
+
+ out.write(html);
+ out.close();
+
+ } catch (IOException e) {
+ LOG.error("Error: " + e.getMessage());
+ }
+ }
+
LOG.info(allOptionsString());
}
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/BooleanConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/BooleanConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/BooleanConfOption.java
index f095905..0aa4d67 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/BooleanConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/BooleanConfOption.java
@@ -31,9 +31,11 @@ public class BooleanConfOption extends AbstractConfOption {
*
* @param key configuration key
* @param defaultValue default value
+ * @param description configuration description
*/
- public BooleanConfOption(String key, boolean defaultValue) {
- super(key);
+ public BooleanConfOption(String key, boolean defaultValue,
+ String description) {
+ super(key, description);
this.defaultValue = defaultValue;
AllOptions.add(this);
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/ClassConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/ClassConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/ClassConfOption.java
index 43d6b0f..af82df5 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/ClassConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/ClassConfOption.java
@@ -42,10 +42,11 @@ public class ClassConfOption<C> extends AbstractConfOption {
* @param key Key
* @param defaultClass default class
* @param interfaceClass interface class
+ * @param description configuration description
*/
private ClassConfOption(String key, Class<? extends C> defaultClass,
- Class<C> interfaceClass) {
- super(key);
+ Class<C> interfaceClass, String description) {
+ super(key, description);
this.defaultClass = defaultClass;
this.interfaceClass = interfaceClass;
AllOptions.add(this);
@@ -57,12 +58,15 @@ public class ClassConfOption<C> extends AbstractConfOption {
* @param key key
* @param defaultClass default class
* @param interfaceClass interface class
+ * @param description configuration description
* @param <T> type of class
* @return ClassConfOption
*/
public static <T> ClassConfOption<T> create(String key,
- Class<? extends T> defaultClass, Class<T> interfaceClass) {
- return new ClassConfOption<T>(key, defaultClass, interfaceClass);
+ Class<? extends T> defaultClass, Class<T> interfaceClass,
+ String description) {
+ return new ClassConfOption<T>(key, defaultClass, interfaceClass,
+ description);
}
public Class<? extends C> getDefaultClass() {
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/EnumConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/EnumConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/EnumConfOption.java
index 0e23379..2a65ec0 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/EnumConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/EnumConfOption.java
@@ -38,9 +38,11 @@ public class EnumConfOption<T extends Enum<T>> extends AbstractConfOption {
* @param key Configuration key
* @param klass Enum class
* @param defaultValue default value
+ * @param description description of the option
*/
- public EnumConfOption(String key, Class<T> klass, T defaultValue) {
- super(key);
+ public EnumConfOption(String key, Class<T> klass, T defaultValue,
+ String description) {
+ super(key, description);
this.klass = klass;
this.defaultValue = defaultValue;
AllOptions.add(this);
@@ -52,12 +54,13 @@ public class EnumConfOption<T extends Enum<T>> extends AbstractConfOption {
* @param key String configuration key
* @param klass enum class
* @param defaultValue default enum value
+ * @param description description of the option
* @param <X> enum type
* @return EnumConfOption
*/
public static <X extends Enum<X>> EnumConfOption<X>
- create(String key, Class<X> klass, X defaultValue) {
- return new EnumConfOption<X>(key, klass, defaultValue);
+ create(String key, Class<X> klass, X defaultValue, String description) {
+ return new EnumConfOption<X>(key, klass, defaultValue, description);
}
@Override public boolean isDefaultValue(Configuration conf) {
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/FloatConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/FloatConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/FloatConfOption.java
index 62efdbe..802456f 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/FloatConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/FloatConfOption.java
@@ -31,9 +31,10 @@ public class FloatConfOption extends AbstractConfOption {
*
* @param key Configuration key
* @param defaultValue default value
+ * @param description configuration description
*/
- public FloatConfOption(String key, float defaultValue) {
- super(key);
+ public FloatConfOption(String key, float defaultValue, String description) {
+ super(key, description);
this.defaultValue = defaultValue;
AllOptions.add(this);
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/GiraphConstants.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/GiraphConstants.java b/giraph-core/src/main/java/org/apache/giraph/conf/GiraphConstants.java
index f090baa..80afab9 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/GiraphConstants.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/GiraphConstants.java
@@ -66,93 +66,108 @@ public interface GiraphConstants {
/** Computation class - required */
ClassConfOption<Computation> COMPUTATION_CLASS =
ClassConfOption.create("giraph.computationClass", null,
- Computation.class);
+ Computation.class, "Computation class - required");
/** Computation factory class - optional */
ClassConfOption<ComputationFactory> COMPUTATION_FACTORY_CLASS =
ClassConfOption.create("giraph.computation.factory.class",
- DefaultComputationFactory.class, ComputationFactory.class);
+ DefaultComputationFactory.class, ComputationFactory.class,
+ "Computation factory class - optional");
/** TypesHolder, used if Computation not set - optional */
ClassConfOption<TypesHolder> TYPES_HOLDER_CLASS =
ClassConfOption.create("giraph.typesHolder", null,
- TypesHolder.class);
+ TypesHolder.class,
+ "TypesHolder, used if Computation not set - optional");
/** Vertex value factory class - optional */
ClassConfOption<VertexValueFactory> VERTEX_VALUE_FACTORY_CLASS =
ClassConfOption.create("giraph.vertexValueFactoryClass",
- DefaultVertexValueFactory.class, VertexValueFactory.class);
+ DefaultVertexValueFactory.class, VertexValueFactory.class,
+ "Vertex value factory class - optional");
/** Vertex edges class - optional */
ClassConfOption<OutEdges> VERTEX_EDGES_CLASS =
ClassConfOption.create("giraph.outEdgesClass", ByteArrayEdges.class,
- OutEdges.class);
+ OutEdges.class, "Vertex edges class - optional");
/** Vertex edges class to be used during edge input only - optional */
ClassConfOption<OutEdges> INPUT_VERTEX_EDGES_CLASS =
ClassConfOption.create("giraph.inputOutEdgesClass",
- ByteArrayEdges.class, OutEdges.class);
+ ByteArrayEdges.class, OutEdges.class,
+ "Vertex edges class to be used during edge input only - optional");
/** Class for Master - optional */
ClassConfOption<MasterCompute> MASTER_COMPUTE_CLASS =
ClassConfOption.create("giraph.masterComputeClass",
- DefaultMasterCompute.class, MasterCompute.class);
+ DefaultMasterCompute.class, MasterCompute.class,
+ "Class for Master - optional");
/** Classes for Master Observer - optional */
ClassConfOption<MasterObserver> MASTER_OBSERVER_CLASSES =
ClassConfOption.create("giraph.master.observers",
- null, MasterObserver.class);
+ null, MasterObserver.class, "Classes for Master Observer - optional");
/** Classes for Worker Observer - optional */
ClassConfOption<WorkerObserver> WORKER_OBSERVER_CLASSES =
ClassConfOption.create("giraph.worker.observers", null,
- WorkerObserver.class);
+ WorkerObserver.class, "Classes for Worker Observer - optional");
/** Vertex combiner class - optional */
ClassConfOption<Combiner> VERTEX_COMBINER_CLASS =
- ClassConfOption.create("giraph.combinerClass", null, Combiner.class);
+ ClassConfOption.create("giraph.combinerClass", null, Combiner.class,
+ "Vertex combiner class - optional");
/** Vertex resolver class - optional */
ClassConfOption<VertexResolver> VERTEX_RESOLVER_CLASS =
ClassConfOption.create("giraph.vertexResolverClass",
- DefaultVertexResolver.class, VertexResolver.class);
+ DefaultVertexResolver.class, VertexResolver.class,
+ "Vertex resolver class - optional");
/** Which language computation is implemented in */
EnumConfOption<Language> COMPUTATION_LANGUAGE =
EnumConfOption.create("giraph.computation.language",
- Language.class, Language.JAVA);
+ Language.class, Language.JAVA,
+ "Which language computation is implemented in");
/**
* Option of whether to create vertexes that were not existent before but
* received messages
*/
BooleanConfOption RESOLVER_CREATE_VERTEX_ON_MSGS =
- new BooleanConfOption("giraph.vertex.resolver.create.on.msgs", true);
+ new BooleanConfOption("giraph.vertex.resolver.create.on.msgs", true,
+ "Option of whether to create vertexes that were not existent " +
+ "before but received messages");
/** Graph partitioner factory class - optional */
ClassConfOption<GraphPartitionerFactory> GRAPH_PARTITIONER_FACTORY_CLASS =
ClassConfOption.create("giraph.graphPartitionerFactoryClass",
- HashPartitionerFactory.class, GraphPartitionerFactory.class);
+ HashPartitionerFactory.class, GraphPartitionerFactory.class,
+ "Graph partitioner factory class - optional");
/** Observer class to watch over job status - optional */
ClassConfOption<GiraphJobObserver> JOB_OBSERVER_CLASS =
ClassConfOption.create("giraph.jobObserverClass",
- DefaultJobObserver.class, GiraphJobObserver.class);
+ DefaultJobObserver.class, GiraphJobObserver.class,
+ "Observer class to watch over job status - optional");
// At least one of the input format classes is required.
/** VertexInputFormat class */
ClassConfOption<VertexInputFormat> VERTEX_INPUT_FORMAT_CLASS =
ClassConfOption.create("giraph.vertexInputFormatClass", null,
- VertexInputFormat.class);
+ VertexInputFormat.class, "VertexInputFormat class (at least " +
+ "one of the input format classes is required)");
/** EdgeInputFormat class */
ClassConfOption<EdgeInputFormat> EDGE_INPUT_FORMAT_CLASS =
ClassConfOption.create("giraph.edgeInputFormatClass", null,
- EdgeInputFormat.class);
+ EdgeInputFormat.class, "EdgeInputFormat class");
/** EdgeInputFilter class */
ClassConfOption<EdgeInputFilter> EDGE_INPUT_FILTER_CLASS =
ClassConfOption.create("giraph.edgeInputFilterClass",
- DefaultEdgeInputFilter.class, EdgeInputFilter.class);
+ DefaultEdgeInputFilter.class, EdgeInputFilter.class,
+ "EdgeInputFilter class");
/** VertexInputFilter class */
ClassConfOption<VertexInputFilter> VERTEX_INPUT_FILTER_CLASS =
ClassConfOption.create("giraph.vertexInputFilterClass",
- DefaultVertexInputFilter.class, VertexInputFilter.class);
+ DefaultVertexInputFilter.class, VertexInputFilter.class,
+ "VertexInputFilter class");
/** VertexOutputFormat class */
ClassConfOption<VertexOutputFormat> VERTEX_OUTPUT_FORMAT_CLASS =
ClassConfOption.create("giraph.vertexOutputFormatClass", null,
- VertexOutputFormat.class);
+ VertexOutputFormat.class, "VertexOutputFormat class");
/**
* If you use this option, instead of having saving vertices in the end of
* application, saveVertex will be called right after each vertex.compute()
@@ -161,65 +176,83 @@ public interface GiraphConstants {
* from a checkpoint you won't have any output from previous supersteps.
*/
BooleanConfOption DO_OUTPUT_DURING_COMPUTATION =
- new BooleanConfOption("giraph.doOutputDuringComputation", false);
+ new BooleanConfOption("giraph.doOutputDuringComputation", false,
+ "If you use this option, instead of having saving vertices in the " +
+ "end of application, saveVertex will be called right after each " +
+ "vertex.compute() is called." +
+ "NOTE: This feature doesn't work well with checkpointing - if you " +
+ "restart from a checkpoint you won't have any ouptut from previous " +
+ "supresteps.");
/**
* Vertex output format thread-safe - if your VertexOutputFormat allows
* several vertexWriters to be created and written to in parallel,
* you should set this to true.
*/
BooleanConfOption VERTEX_OUTPUT_FORMAT_THREAD_SAFE =
- new BooleanConfOption("giraph.vertexOutputFormatThreadSafe", false);
+ new BooleanConfOption("giraph.vertexOutputFormatThreadSafe", false,
+ "Vertex output format thread-safe - if your VertexOutputFormat " +
+ "allows several vertexWriters to be created and written to in " +
+ "parallel, you should set this to true.");
/** Number of threads for writing output in the end of the application */
IntConfOption NUM_OUTPUT_THREADS =
- new IntConfOption("giraph.numOutputThreads", 1);
+ new IntConfOption("giraph.numOutputThreads", 1,
+ "Number of threads for writing output in the end of the application");
/** conf key for comma-separated list of jars to export to YARN workers */
StrConfOption GIRAPH_YARN_LIBJARS =
- new StrConfOption("giraph.yarn.libjars", "");
+ new StrConfOption("giraph.yarn.libjars", "",
+ "conf key for comma-separated list of jars to export to YARN workers");
/** Name of the XML file that will export our Configuration to YARN workers */
String GIRAPH_YARN_CONF_FILE = "giraph-conf.xml";
/** Giraph default heap size for all tasks when running on YARN profile */
int GIRAPH_YARN_TASK_HEAP_MB_DEFAULT = 1024;
/** Name of Giraph property for user-configurable heap memory per worker */
IntConfOption GIRAPH_YARN_TASK_HEAP_MB = new IntConfOption(
- "giraph.yarn.task.heap.mb", GIRAPH_YARN_TASK_HEAP_MB_DEFAULT);
+ "giraph.yarn.task.heap.mb", GIRAPH_YARN_TASK_HEAP_MB_DEFAULT,
+ "Name of Giraph property for user-configurable heap memory per worker");
/** Default priority level in YARN for our task containers */
int GIRAPH_YARN_PRIORITY = 10;
/** Is this a pure YARN job (i.e. no MapReduce layer managing Giraph tasks) */
BooleanConfOption IS_PURE_YARN_JOB =
- new BooleanConfOption("giraph.pure.yarn.job", false);
+ new BooleanConfOption("giraph.pure.yarn.job", false,
+ "Is this a pure YARN job (i.e. no MapReduce layer managing Giraph " +
+ "tasks)");
/** Vertex index class */
ClassConfOption<WritableComparable> VERTEX_ID_CLASS =
ClassConfOption.create("giraph.vertexIdClass", null,
- WritableComparable.class);
+ WritableComparable.class, "Vertex index class");
/** Vertex value class */
ClassConfOption<Writable> VERTEX_VALUE_CLASS =
- ClassConfOption.create("giraph.vertexValueClass", null, Writable.class);
+ ClassConfOption.create("giraph.vertexValueClass", null, Writable.class,
+ "Vertex value class");
/** Edge value class */
ClassConfOption<Writable> EDGE_VALUE_CLASS =
- ClassConfOption.create("giraph.edgeValueClass", null, Writable.class);
+ ClassConfOption.create("giraph.edgeValueClass", null, Writable.class,
+ "Edge value class");
/** Incoming message value class */
ClassConfOption<Writable> INCOMING_MESSAGE_VALUE_CLASS =
ClassConfOption.create("giraph.incomingMessageValueClass", null,
- Writable.class);
+ Writable.class, "Incoming message value class");
/** Outgoing message value class */
ClassConfOption<Writable> OUTGOING_MESSAGE_VALUE_CLASS =
ClassConfOption.create("giraph.outgoingMessageValueClass", null,
- Writable.class);
+ Writable.class, "Outgoing message value class");
/** Worker context class */
ClassConfOption<WorkerContext> WORKER_CONTEXT_CLASS =
ClassConfOption.create("giraph.workerContextClass",
- DefaultWorkerContext.class, WorkerContext.class);
+ DefaultWorkerContext.class, WorkerContext.class,
+ "Worker contextclass");
/** AggregatorWriter class - optional */
ClassConfOption<AggregatorWriter> AGGREGATOR_WRITER_CLASS =
ClassConfOption.create("giraph.aggregatorWriterClass",
- TextAggregatorWriter.class, AggregatorWriter.class);
+ TextAggregatorWriter.class, AggregatorWriter.class,
+ "AggregatorWriter class - optional");
/** Partition class - optional */
ClassConfOption<Partition> PARTITION_CLASS =
ClassConfOption.create("giraph.partitionClass", SimplePartition.class,
- Partition.class);
+ Partition.class, "Partition class - optional");
/**
* Minimum number of simultaneous workers before this job can run (int)
@@ -235,41 +268,52 @@ public interface GiraphConstants {
* to support dynamic recovery. (boolean)
*/
BooleanConfOption SPLIT_MASTER_WORKER =
- new BooleanConfOption("giraph.SplitMasterWorker", true);
+ new BooleanConfOption("giraph.SplitMasterWorker", true,
+ "Separate the workers and the master tasks. This is required to " +
+ "support dynamic recovery. (boolean)");
/** Indicates whether this job is run in an internal unit test */
BooleanConfOption LOCAL_TEST_MODE =
- new BooleanConfOption("giraph.localTestMode", false);
+ new BooleanConfOption("giraph.localTestMode", false,
+ "Indicates whether this job is run in an internal unit test");
/** Override the Hadoop log level and set the desired log level. */
- StrConfOption LOG_LEVEL = new StrConfOption("giraph.logLevel", "info");
+ StrConfOption LOG_LEVEL = new StrConfOption("giraph.logLevel", "info",
+ "Override the Hadoop log level and set the desired log level.");
/** Use thread level debugging? */
BooleanConfOption LOG_THREAD_LAYOUT =
- new BooleanConfOption("giraph.logThreadLayout", false);
+ new BooleanConfOption("giraph.logThreadLayout", false,
+ "Use thread level debugging?");
/** Configuration key to enable jmap printing */
BooleanConfOption JMAP_ENABLE =
- new BooleanConfOption("giraph.jmap.histo.enable", false);
+ new BooleanConfOption("giraph.jmap.histo.enable", false,
+ "Configuration key to enable jmap printing");
/** Configuration key for msec to sleep between calls */
IntConfOption JMAP_SLEEP_MILLIS =
- new IntConfOption("giraph.jmap.histo.msec", SECONDS.toMillis(30));
+ new IntConfOption("giraph.jmap.histo.msec", SECONDS.toMillis(30),
+ "Configuration key for msec to sleep between calls");
/** Configuration key for how many lines to print */
IntConfOption JMAP_PRINT_LINES =
- new IntConfOption("giraph.jmap.histo.print_lines", 30);
+ new IntConfOption("giraph.jmap.histo.print_lines", 30,
+ "Configuration key for how many lines to print");
/**
* Minimum percent of the maximum number of workers that have responded
* in order to continue progressing. (float)
*/
FloatConfOption MIN_PERCENT_RESPONDED =
- new FloatConfOption("giraph.minPercentResponded", 100.0f);
+ new FloatConfOption("giraph.minPercentResponded", 100.0f,
+ "Minimum percent of the maximum number of workers that have " +
+ "responded in order to continue progressing. (float)");
- /** Enable the Metrics system **/
+ /** Enable the Metrics system */
BooleanConfOption METRICS_ENABLE =
- new BooleanConfOption("giraph.metrics.enable", false);
+ new BooleanConfOption("giraph.metrics.enable", false,
+ "Enable the Metrics system");
/**
* ZooKeeper comma-separated list (if not set,
@@ -279,19 +323,22 @@ public interface GiraphConstants {
/** ZooKeeper session millisecond timeout */
IntConfOption ZOOKEEPER_SESSION_TIMEOUT =
- new IntConfOption("giraph.zkSessionMsecTimeout", MINUTES.toMillis(1));
+ new IntConfOption("giraph.zkSessionMsecTimeout", MINUTES.toMillis(1),
+ "ZooKeeper session millisecond timeout");
/** Polling interval to check for the ZooKeeper server data */
IntConfOption ZOOKEEPER_SERVERLIST_POLL_MSECS =
- new IntConfOption("giraph.zkServerlistPollMsecs", SECONDS.toMillis(3));
+ new IntConfOption("giraph.zkServerlistPollMsecs", SECONDS.toMillis(3),
+ "Polling interval to check for the ZooKeeper server data");
/** Number of nodes (not tasks) to run Zookeeper on */
IntConfOption ZOOKEEPER_SERVER_COUNT =
- new IntConfOption("giraph.zkServerCount", 1);
+ new IntConfOption("giraph.zkServerCount", 1,
+ "Number of nodes (not tasks) to run Zookeeper on");
/** ZooKeeper port to use */
IntConfOption ZOOKEEPER_SERVER_PORT =
- new IntConfOption("giraph.zkServerPort", 22181);
+ new IntConfOption("giraph.zkServerPort", 22181, "ZooKeeper port to use");
/** Location of the ZooKeeper jar - Used internally, not meant for users */
String ZOOKEEPER_JAR = "giraph.zkJar";
@@ -301,79 +348,97 @@ public interface GiraphConstants {
/** Max attempts for handling ZooKeeper connection loss */
IntConfOption ZOOKEEPER_OPS_MAX_ATTEMPTS =
- new IntConfOption("giraph.zkOpsMaxAttempts", 3);
+ new IntConfOption("giraph.zkOpsMaxAttempts", 3,
+ "Max attempts for handling ZooKeeper connection loss");
/**
* Msecs to wait before retrying a failed ZooKeeper op due to connection loss.
*/
IntConfOption ZOOKEEPER_OPS_RETRY_WAIT_MSECS =
- new IntConfOption("giraph.zkOpsRetryWaitMsecs", SECONDS.toMillis(5));
+ new IntConfOption("giraph.zkOpsRetryWaitMsecs", SECONDS.toMillis(5),
+ "Msecs to wait before retrying a failed ZooKeeper op due to " +
+ "connection loss.");
/** TCP backlog (defaults to number of workers) */
- IntConfOption TCP_BACKLOG = new IntConfOption("giraph.tcpBacklog", 1);
+ IntConfOption TCP_BACKLOG = new IntConfOption("giraph.tcpBacklog", 1,
+ "TCP backlog (defaults to number of workers)");
/** How big to make the encoder buffer? */
IntConfOption NETTY_REQUEST_ENCODER_BUFFER_SIZE =
- new IntConfOption("giraph.nettyRequestEncoderBufferSize", 32 * ONE_KB);
+ new IntConfOption("giraph.nettyRequestEncoderBufferSize", 32 * ONE_KB,
+ "How big to make the encoder buffer?");
/** Whether or not netty request encoder should use direct byte buffers */
BooleanConfOption NETTY_REQUEST_ENCODER_USE_DIRECT_BUFFERS =
new BooleanConfOption("giraph.nettyRequestEncoderUseDirectBuffers",
- false);
+ false, "Whether or not netty request encoder " +
+ "should use direct byte buffers");
/** Netty client threads */
IntConfOption NETTY_CLIENT_THREADS =
- new IntConfOption("giraph.nettyClientThreads", 4);
+ new IntConfOption("giraph.nettyClientThreads", 4, "Netty client threads");
/** Netty server threads */
IntConfOption NETTY_SERVER_THREADS =
- new IntConfOption("giraph.nettyServerThreads", 16);
+ new IntConfOption("giraph.nettyServerThreads", 16,
+ "Netty server threads");
/** Use the execution handler in netty on the client? */
BooleanConfOption NETTY_CLIENT_USE_EXECUTION_HANDLER =
- new BooleanConfOption("giraph.nettyClientUseExecutionHandler", true);
+ new BooleanConfOption("giraph.nettyClientUseExecutionHandler", true,
+ "Use the execution handler in netty on the client?");
/** Netty client execution threads (execution handler) */
IntConfOption NETTY_CLIENT_EXECUTION_THREADS =
- new IntConfOption("giraph.nettyClientExecutionThreads", 8);
+ new IntConfOption("giraph.nettyClientExecutionThreads", 8,
+ "Netty client execution threads (execution handler)");
/** Where to place the netty client execution handle? */
StrConfOption NETTY_CLIENT_EXECUTION_AFTER_HANDLER =
new StrConfOption("giraph.nettyClientExecutionAfterHandler",
- "requestEncoder");
+ "requestEncoder",
+ "Where to place the netty client execution handle?");
/** Use the execution handler in netty on the server? */
BooleanConfOption NETTY_SERVER_USE_EXECUTION_HANDLER =
- new BooleanConfOption("giraph.nettyServerUseExecutionHandler", true);
+ new BooleanConfOption("giraph.nettyServerUseExecutionHandler", true,
+ "Use the execution handler in netty on the server?");
/** Netty server execution threads (execution handler) */
IntConfOption NETTY_SERVER_EXECUTION_THREADS =
- new IntConfOption("giraph.nettyServerExecutionThreads", 8);
+ new IntConfOption("giraph.nettyServerExecutionThreads", 8,
+ "Netty server execution threads (execution handler)");
/** Where to place the netty server execution handle? */
StrConfOption NETTY_SERVER_EXECUTION_AFTER_HANDLER =
new StrConfOption("giraph.nettyServerExecutionAfterHandler",
- "requestFrameDecoder");
+ "requestFrameDecoder",
+ "Where to place the netty server execution handle?");
/** Netty simulate a first request closed */
BooleanConfOption NETTY_SIMULATE_FIRST_REQUEST_CLOSED =
- new BooleanConfOption("giraph.nettySimulateFirstRequestClosed", false);
+ new BooleanConfOption("giraph.nettySimulateFirstRequestClosed", false,
+ "Netty simulate a first request closed");
/** Netty simulate a first response failed */
BooleanConfOption NETTY_SIMULATE_FIRST_RESPONSE_FAILED =
- new BooleanConfOption("giraph.nettySimulateFirstResponseFailed", false);
+ new BooleanConfOption("giraph.nettySimulateFirstResponseFailed", false,
+ "Netty simulate a first response failed");
/** Max resolve address attempts */
IntConfOption MAX_RESOLVE_ADDRESS_ATTEMPTS =
- new IntConfOption("giraph.maxResolveAddressAttempts", 5);
+ new IntConfOption("giraph.maxResolveAddressAttempts", 5,
+ "Max resolve address attempts");
/** Msecs to wait between waiting for all requests to finish */
IntConfOption WAITING_REQUEST_MSECS =
- new IntConfOption("giraph.waitingRequestMsecs", SECONDS.toMillis(15));
+ new IntConfOption("giraph.waitingRequestMsecs", SECONDS.toMillis(15),
+ "Msecs to wait between waiting for all requests to finish");
/** Millseconds to wait for an event before continuing */
IntConfOption EVENT_WAIT_MSECS =
- new IntConfOption("giraph.eventWaitMsecs", SECONDS.toMillis(30));
+ new IntConfOption("giraph.eventWaitMsecs", SECONDS.toMillis(30),
+ "Millseconds to wait for an event before continuing");
/**
* Maximum milliseconds to wait before giving up trying to get the minimum
@@ -381,49 +446,62 @@ public interface GiraphConstants {
*/
IntConfOption MAX_MASTER_SUPERSTEP_WAIT_MSECS =
new IntConfOption("giraph.maxMasterSuperstepWaitMsecs",
- MINUTES.toMillis(10));
+ MINUTES.toMillis(10),
+ "Maximum milliseconds to wait before giving up trying to get the " +
+ "minimum number of workers before a superstep (int).");
/** Milliseconds for a request to complete (or else resend) */
IntConfOption MAX_REQUEST_MILLISECONDS =
- new IntConfOption("giraph.maxRequestMilliseconds", MINUTES.toMillis(10));
+ new IntConfOption("giraph.maxRequestMilliseconds", MINUTES.toMillis(10),
+ "Milliseconds for a request to complete (or else resend)");
/** Netty max connection failures */
IntConfOption NETTY_MAX_CONNECTION_FAILURES =
- new IntConfOption("giraph.nettyMaxConnectionFailures", 1000);
+ new IntConfOption("giraph.nettyMaxConnectionFailures", 1000,
+ "Netty max connection failures");
/** Initial port to start using for the IPC communication */
IntConfOption IPC_INITIAL_PORT =
- new IntConfOption("giraph.ipcInitialPort", 30000);
+ new IntConfOption("giraph.ipcInitialPort", 30000,
+ "Initial port to start using for the IPC communication");
/** Maximum bind attempts for different IPC ports */
IntConfOption MAX_IPC_PORT_BIND_ATTEMPTS =
- new IntConfOption("giraph.maxIpcPortBindAttempts", 20);
+ new IntConfOption("giraph.maxIpcPortBindAttempts", 20,
+ "Maximum bind attempts for different IPC ports");
/**
* Fail first IPC port binding attempt, simulate binding failure
* on real grid testing
*/
BooleanConfOption FAIL_FIRST_IPC_PORT_BIND_ATTEMPT =
- new BooleanConfOption("giraph.failFirstIpcPortBindAttempt", false);
+ new BooleanConfOption("giraph.failFirstIpcPortBindAttempt", false,
+ "Fail first IPC port binding attempt, simulate binding failure " +
+ "on real grid testing");
/** Client send buffer size */
IntConfOption CLIENT_SEND_BUFFER_SIZE =
- new IntConfOption("giraph.clientSendBufferSize", 512 * ONE_KB);
+ new IntConfOption("giraph.clientSendBufferSize", 512 * ONE_KB,
+ "Client send buffer size");
/** Client receive buffer size */
IntConfOption CLIENT_RECEIVE_BUFFER_SIZE =
- new IntConfOption("giraph.clientReceiveBufferSize", 32 * ONE_KB);
+ new IntConfOption("giraph.clientReceiveBufferSize", 32 * ONE_KB,
+ "Client receive buffer size");
/** Server send buffer size */
IntConfOption SERVER_SEND_BUFFER_SIZE =
- new IntConfOption("giraph.serverSendBufferSize", 32 * ONE_KB);
+ new IntConfOption("giraph.serverSendBufferSize", 32 * ONE_KB,
+ "Server send buffer size");
/** Server receive buffer size */
IntConfOption SERVER_RECEIVE_BUFFER_SIZE =
- new IntConfOption("giraph.serverReceiveBufferSize", 512 * ONE_KB);
+ new IntConfOption("giraph.serverReceiveBufferSize", 512 * ONE_KB,
+ "Server receive buffer size");
/** Maximum size of messages (in bytes) per peer before flush */
IntConfOption MAX_MSG_REQUEST_SIZE =
- new IntConfOption("giraph.msgRequestSize", 512 * ONE_KB);
+ new IntConfOption("giraph.msgRequestSize", 512 * ONE_KB,
+ "Maximum size of messages (in bytes) per peer before flush");
/**
* How much bigger than the average per partition size to make initial per
@@ -433,52 +511,67 @@ public interface GiraphConstants {
* will be (M / P) * (1 + A).
*/
FloatConfOption ADDITIONAL_MSG_REQUEST_SIZE =
- new FloatConfOption("giraph.additionalMsgRequestSize", 0.2f);
+ new FloatConfOption("giraph.additionalMsgRequestSize", 0.2f,
+ "How much bigger than the average per partition size to make " +
+ "initial per partition buffers. If this value is A, message " +
+ "request size is M, and a worker has P partitions, than its " +
+ "initial partition buffer size will be (M / P) * (1 + A).");
/** Maximum size of edges (in bytes) per peer before flush */
IntConfOption MAX_EDGE_REQUEST_SIZE =
- new IntConfOption("giraph.edgeRequestSize", 512 * ONE_KB);
+ new IntConfOption("giraph.edgeRequestSize", 512 * ONE_KB,
+ "Maximum size of edges (in bytes) per peer before flush");
/**
* Additional size (expressed as a ratio) of each per-partition buffer on
* top of the average size.
*/
FloatConfOption ADDITIONAL_EDGE_REQUEST_SIZE =
- new FloatConfOption("giraph.additionalEdgeRequestSize", 0.2f);
+ new FloatConfOption("giraph.additionalEdgeRequestSize", 0.2f,
+ "Additional size (expressed as a ratio) of each per-partition " +
+ "buffer on top of the average size.");
/** Maximum number of mutations per partition before flush */
IntConfOption MAX_MUTATIONS_PER_REQUEST =
- new IntConfOption("giraph.maxMutationsPerRequest", 100);
+ new IntConfOption("giraph.maxMutationsPerRequest", 100,
+ "Maximum number of mutations per partition before flush");
/**
* Use message size encoding (typically better for complex objects,
* not meant for primitive wrapped messages)
*/
BooleanConfOption USE_MESSAGE_SIZE_ENCODING =
- new BooleanConfOption("giraph.useMessageSizeEncoding", false);
+ new BooleanConfOption("giraph.useMessageSizeEncoding", false,
+ "Use message size encoding (typically better for complex objects, " +
+ "not meant for primitive wrapped messages)");
/** Number of channels used per server */
IntConfOption CHANNELS_PER_SERVER =
- new IntConfOption("giraph.channelsPerServer", 1);
+ new IntConfOption("giraph.channelsPerServer", 1,
+ "Number of channels used per server");
/** Number of flush threads per peer */
String MSG_NUM_FLUSH_THREADS = "giraph.msgNumFlushThreads";
/** Number of threads for vertex computation */
IntConfOption NUM_COMPUTE_THREADS =
- new IntConfOption("giraph.numComputeThreads", 1);
+ new IntConfOption("giraph.numComputeThreads", 1,
+ "Number of threads for vertex computation");
/** Number of threads for input split loading */
IntConfOption NUM_INPUT_THREADS =
- new IntConfOption("giraph.numInputThreads", 1);
+ new IntConfOption("giraph.numInputThreads", 1,
+ "Number of threads for input split loading");
/** Minimum stragglers of the superstep before printing them out */
IntConfOption PARTITION_LONG_TAIL_MIN_PRINT =
- new IntConfOption("giraph.partitionLongTailMinPrint", 1);
+ new IntConfOption("giraph.partitionLongTailMinPrint", 1,
+ "Minimum stragglers of the superstep before printing them out");
/** Use superstep counters? (boolean) */
BooleanConfOption USE_SUPERSTEP_COUNTERS =
- new BooleanConfOption("giraph.useSuperstepCounters", true);
+ new BooleanConfOption("giraph.useSuperstepCounters", true,
+ "Use superstep counters? (boolean)");
/**
* Input split sample percent - Used only for sampling and testing, rather
@@ -487,7 +580,11 @@ public interface GiraphConstants {
* load (values should be [0, 100]).
*/
FloatConfOption INPUT_SPLIT_SAMPLE_PERCENT =
- new FloatConfOption("giraph.inputSplitSamplePercent", 100f);
+ new FloatConfOption("giraph.inputSplitSamplePercent", 100f,
+ "Input split sample percent - Used only for sampling and testing, " +
+ "rather than an actual job. The idea is that to test, you might " +
+ "only want a fraction of the actual input splits from your " +
+ "VertexInputFormat to load (values should be [0, 100]).");
/**
* To limit outlier vertex input splits from producing too many vertices or
@@ -495,7 +592,11 @@ public interface GiraphConstants {
* can be limited. By default, everything is loaded.
*/
LongConfOption INPUT_SPLIT_MAX_VERTICES =
- new LongConfOption("giraph.InputSplitMaxVertices", -1);
+ new LongConfOption("giraph.InputSplitMaxVertices", -1,
+ "To limit outlier vertex input splits from producing too many " +
+ "vertices or to help with testing, the number of vertices loaded " +
+ "from an input split can be limited. By default, everything is " +
+ "loaded.");
/**
* To limit outlier vertex input splits from producing too many vertices or
@@ -503,7 +604,11 @@ public interface GiraphConstants {
* can be limited. By default, everything is loaded.
*/
LongConfOption INPUT_SPLIT_MAX_EDGES =
- new LongConfOption("giraph.InputSplitMaxEdges", -1);
+ new LongConfOption("giraph.InputSplitMaxEdges", -1,
+ "To limit outlier vertex input splits from producing too many " +
+ "vertices or to help with testing, the number of edges loaded " +
+ "from an input split can be limited. By default, everything is " +
+ "loaded.");
/**
* To minimize network usage when reading input splits,
@@ -513,15 +618,23 @@ public interface GiraphConstants {
* configurations that can't exploit locality) may want to disable it.
*/
BooleanConfOption USE_INPUT_SPLIT_LOCALITY =
- new BooleanConfOption("giraph.useInputSplitLocality", true);
+ new BooleanConfOption("giraph.useInputSplitLocality", true,
+ "To minimize network usage when reading input splits, each worker " +
+ "can prioritize splits that reside on its host. " +
+ "This, however, comes at the cost of increased load on ZooKeeper. " +
+ "Hence, users with a lot of splits and input threads (or with " +
+ "configurations that can't exploit locality) may want to disable " +
+ "it.");
/** Multiplier for the current workers squared */
FloatConfOption PARTITION_COUNT_MULTIPLIER =
- new FloatConfOption("giraph.masterPartitionCountMultiplier", 1.0f);
+ new FloatConfOption("giraph.masterPartitionCountMultiplier", 1.0f,
+ "Multiplier for the current workers squared");
/** Overrides default partition count calculation if not -1 */
IntConfOption USER_PARTITION_COUNT =
- new IntConfOption("giraph.userPartitionCount", -1);
+ new IntConfOption("giraph.userPartitionCount", -1,
+ "Overrides default partition count calculation if not -1");
/** Vertex key space size for
* {@link org.apache.giraph.partition.SimpleRangeWorkerPartitioner}
@@ -532,20 +645,24 @@ public interface GiraphConstants {
StrConfOption ZOOKEEPER_JAVA_OPTS =
new StrConfOption("giraph.zkJavaOpts",
"-Xmx512m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC " +
- "-XX:CMSInitiatingOccupancyFraction=70 -XX:MaxGCPauseMillis=100");
+ "-XX:CMSInitiatingOccupancyFraction=70 -XX:MaxGCPauseMillis=100",
+ "Java opts passed to ZooKeeper startup");
/**
* How often to checkpoint (i.e. 0, means no checkpoint,
* 1 means every superstep, 2 is every two supersteps, etc.).
*/
IntConfOption CHECKPOINT_FREQUENCY =
- new IntConfOption("giraph.checkpointFrequency", 0);
+ new IntConfOption("giraph.checkpointFrequency", 0,
+ "How often to checkpoint (i.e. 0, means no checkpoint, 1 means " +
+ "every superstep, 2 is every two supersteps, etc.).");
/**
* Delete checkpoints after a successful job run?
*/
BooleanConfOption CLEANUP_CHECKPOINTS_AFTER_SUCCESS =
- new BooleanConfOption("giraph.cleanupCheckpointsAfterSuccess", true);
+ new BooleanConfOption("giraph.cleanupCheckpointsAfterSuccess", true,
+ "Delete checkpoints after a successful job run?");
/**
* An application can be restarted manually by selecting a superstep. The
@@ -566,46 +683,59 @@ public interface GiraphConstants {
*/
StrConfOption ZOOKEEPER_MANAGER_DIRECTORY =
new StrConfOption("giraph.zkManagerDirectory",
- "_bsp/_defaultZkManagerDir");
+ "_bsp/_defaultZkManagerDir",
+ "If ZOOKEEPER_LIST is not set, then use this directory to manage " +
+ "ZooKeeper");
/** Number of ZooKeeper client connection attempts before giving up. */
IntConfOption ZOOKEEPER_CONNECTION_ATTEMPTS =
- new IntConfOption("giraph.zkConnectionAttempts", 10);
+ new IntConfOption("giraph.zkConnectionAttempts", 10,
+ "Number of ZooKeeper client connection attempts before giving up.");
/** This directory has/stores the available checkpoint files in HDFS. */
StrConfOption CHECKPOINT_DIRECTORY =
- new StrConfOption("giraph.checkpointDirectory", "_bsp/_checkpoints/");
+ new StrConfOption("giraph.checkpointDirectory", "_bsp/_checkpoints/",
+ "This directory has/stores the available checkpoint files in HDFS.");
/**
* Comma-separated list of directories in the local file system for
* out-of-core messages.
*/
StrConfOption MESSAGES_DIRECTORY =
- new StrConfOption("giraph.messagesDirectory", "_bsp/_messages/");
+ new StrConfOption("giraph.messagesDirectory", "_bsp/_messages/",
+ "Comma-separated list of directories in the local file system for " +
+ "out-of-core messages.");
/** Whether or not to use out-of-core messages */
BooleanConfOption USE_OUT_OF_CORE_MESSAGES =
- new BooleanConfOption("giraph.useOutOfCoreMessages", false);
+ new BooleanConfOption("giraph.useOutOfCoreMessages", false,
+ "Whether or not to use out-of-core messages");
/**
* If using out-of-core messaging, it tells how much messages do we keep
* in memory.
*/
IntConfOption MAX_MESSAGES_IN_MEMORY =
- new IntConfOption("giraph.maxMessagesInMemory", 1000000);
+ new IntConfOption("giraph.maxMessagesInMemory", 1000000,
+ "If using out-of-core messaging, it tells how much messages do we " +
+ "keep in memory.");
/** Size of buffer when reading and writing messages out-of-core. */
IntConfOption MESSAGES_BUFFER_SIZE =
- new IntConfOption("giraph.messagesBufferSize", 8 * ONE_KB);
+ new IntConfOption("giraph.messagesBufferSize", 8 * ONE_KB,
+ "Size of buffer when reading and writing messages out-of-core.");
/**
* Comma-separated list of directories in the local filesystem for
* out-of-core partitions.
*/
StrConfOption PARTITIONS_DIRECTORY =
- new StrConfOption("giraph.partitionsDirectory", "_bsp/_partitions");
+ new StrConfOption("giraph.partitionsDirectory", "_bsp/_partitions",
+ "Comma-separated list of directories in the local filesystem for " +
+ "out-of-core partitions.");
/** Enable out-of-core graph. */
BooleanConfOption USE_OUT_OF_CORE_GRAPH =
- new BooleanConfOption("giraph.useOutOfCoreGraph", false);
+ new BooleanConfOption("giraph.useOutOfCoreGraph", false,
+ "Enable out-of-core graph.");
/** Directory to write YourKit snapshots to */
String YOURKIT_OUTPUT_DIR = "giraph.yourkit.outputDir";
@@ -614,11 +744,13 @@ public interface GiraphConstants {
/** Maximum number of partitions to hold in memory for each worker. */
IntConfOption MAX_PARTITIONS_IN_MEMORY =
- new IntConfOption("giraph.maxPartitionsInMemory", 10);
+ new IntConfOption("giraph.maxPartitionsInMemory", 10,
+ "Maximum number of partitions to hold in memory for each worker.");
/** Keep the zookeeper output for debugging? Default is to remove it. */
BooleanConfOption KEEP_ZOOKEEPER_DATA =
- new BooleanConfOption("giraph.keepZooKeeperData", false);
+ new BooleanConfOption("giraph.keepZooKeeperData", false,
+ "Keep the zookeeper output for debugging? Default is to remove it.");
/** Default ZooKeeper tick time. */
int DEFAULT_ZOOKEEPER_TICK_TIME = 6000;
@@ -632,27 +764,33 @@ public interface GiraphConstants {
int DEFAULT_ZOOKEEPER_MAX_CLIENT_CNXNS = 10000;
/** ZooKeeper minimum session timeout */
IntConfOption ZOOKEEPER_MIN_SESSION_TIMEOUT =
- new IntConfOption("giraph.zKMinSessionTimeout", MINUTES.toMillis(10));
+ new IntConfOption("giraph.zKMinSessionTimeout", MINUTES.toMillis(10),
+ "ZooKeeper minimum session timeout");
/** ZooKeeper maximum session timeout */
IntConfOption ZOOKEEPER_MAX_SESSION_TIMEOUT =
- new IntConfOption("giraph.zkMaxSessionTimeout", MINUTES.toMillis(15));
+ new IntConfOption("giraph.zkMaxSessionTimeout", MINUTES.toMillis(15),
+ "ZooKeeper maximum session timeout");
/** ZooKeeper force sync */
BooleanConfOption ZOOKEEPER_FORCE_SYNC =
- new BooleanConfOption("giraph.zKForceSync", false);
+ new BooleanConfOption("giraph.zKForceSync", false,
+ "ZooKeeper force sync");
/** ZooKeeper skip ACLs */
BooleanConfOption ZOOKEEPER_SKIP_ACL =
- new BooleanConfOption("giraph.ZkSkipAcl", true);
+ new BooleanConfOption("giraph.ZkSkipAcl", true, "ZooKeeper skip ACLs");
/**
* Whether to use SASL with DIGEST and Hadoop Job Tokens to authenticate
* and authorize Netty BSP Clients to Servers.
*/
BooleanConfOption AUTHENTICATE =
- new BooleanConfOption("giraph.authenticate", false);
+ new BooleanConfOption("giraph.authenticate", false,
+ "Whether to use SASL with DIGEST and Hadoop Job Tokens to " +
+ "authenticate and authorize Netty BSP Clients to Servers.");
/** Use unsafe serialization? */
BooleanConfOption USE_UNSAFE_SERIALIZATION =
- new BooleanConfOption("giraph.useUnsafeSerialization", true);
+ new BooleanConfOption("giraph.useUnsafeSerialization", true,
+ "Use unsafe serialization?");
/**
* Maximum number of attempts a master/worker will retry before killing
@@ -660,14 +798,19 @@ public interface GiraphConstants {
* Hadoop.
*/
IntConfOption MAX_TASK_ATTEMPTS =
- new IntConfOption("mapred.map.max.attempts", -1);
+ new IntConfOption("mapred.map.max.attempts", -1,
+ "Maximum number of attempts a master/worker will retry before " +
+ "killing the job. This directly maps to the number of map task " +
+ "attempts in Hadoop.");
/** Interface to use for hostname resolution */
StrConfOption DNS_INTERFACE =
- new StrConfOption("giraph.dns.interface", "default");
+ new StrConfOption("giraph.dns.interface", "default",
+ "Interface to use for hostname resolution");
/** Server for hostname resolution */
StrConfOption DNS_NAMESERVER =
- new StrConfOption("giraph.dns.nameserver", "default");
+ new StrConfOption("giraph.dns.nameserver", "default",
+ "Server for hostname resolution");
/**
* The application will halt after this many supersteps is completed. For
@@ -675,13 +818,20 @@ public interface GiraphConstants {
* and 2 supersteps and then go into the shutdown superstep.
*/
IntConfOption MAX_NUMBER_OF_SUPERSTEPS =
- new IntConfOption("giraph.maxNumberOfSupersteps", 1);
+ new IntConfOption("giraph.maxNumberOfSupersteps", 1,
+ "The application will halt after this many supersteps is " +
+ "completed. For instance, if it is set to 3, the application will " +
+ "run at most 0, 1, and 2 supersteps and then go into the shutdown " +
+ "superstep.");
/**
* The application will not mutate the graph topology (the edges). It is used
* to optimise out-of-core graph, by not writing back edges every time.
*/
BooleanConfOption STATIC_GRAPH =
- new BooleanConfOption("giraph.isStaticGraph", false);
+ new BooleanConfOption("giraph.isStaticGraph", false,
+ "The application will not mutate the graph topology (the edges). " +
+ "It is used to optimise out-of-core graph, by not writing back " +
+ "edges every time.");
}
// CHECKSTYLE: resume InterfaceIsTypeCheck
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/IntConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/IntConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/IntConfOption.java
index 142c090..2ab8f59 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/IntConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/IntConfOption.java
@@ -31,9 +31,10 @@ public class IntConfOption extends AbstractConfOption {
*
* @param key key
* @param defaultValue default value
+ * @param description configuration description
*/
- public IntConfOption(String key, int defaultValue) {
- super(key);
+ public IntConfOption(String key, int defaultValue, String description) {
+ super(key, description);
this.defaultValue = defaultValue;
AllOptions.add(this);
}
@@ -43,9 +44,10 @@ public class IntConfOption extends AbstractConfOption {
*
* @param key key
* @param defaultValue default value
+ * @param description configuration description
*/
- public IntConfOption(String key, long defaultValue) {
- super(key);
+ public IntConfOption(String key, long defaultValue, String description) {
+ super(key, description);
this.defaultValue = (int) defaultValue;
AllOptions.add(this);
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/LongConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/LongConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/LongConfOption.java
index a5c939d..437bbb6 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/LongConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/LongConfOption.java
@@ -31,9 +31,10 @@ public class LongConfOption extends AbstractConfOption {
*
* @param key key
* @param defaultValue default value
+ * @param description configuration description
*/
- public LongConfOption(String key, long defaultValue) {
- super(key);
+ public LongConfOption(String key, long defaultValue, String description) {
+ super(key, description);
this.defaultValue = defaultValue;
AllOptions.add(this);
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/conf/StrConfOption.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/conf/StrConfOption.java b/giraph-core/src/main/java/org/apache/giraph/conf/StrConfOption.java
index 7c3a993..69e246c 100644
--- a/giraph-core/src/main/java/org/apache/giraph/conf/StrConfOption.java
+++ b/giraph-core/src/main/java/org/apache/giraph/conf/StrConfOption.java
@@ -36,9 +36,10 @@ public class StrConfOption extends AbstractConfOption {
*
* @param key key
* @param defaultValue default value
+ * @param description configuration description
*/
- public StrConfOption(String key, String defaultValue) {
- super(key);
+ public StrConfOption(String key, String defaultValue, String description) {
+ super(key, description);
this.defaultValue = defaultValue;
AllOptions.add(this);
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/EdgeInputFormatDescription.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/EdgeInputFormatDescription.java b/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/EdgeInputFormatDescription.java
index 4b48e63..acc240d 100644
--- a/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/EdgeInputFormatDescription.java
+++ b/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/EdgeInputFormatDescription.java
@@ -50,7 +50,13 @@ public class EdgeInputFormatDescription<I extends WritableComparable,
* [["EIF1",{"p":"v1"}],["EIF2",{"p":"v2","q":"v"}]]
*/
public static final StrConfOption EDGE_INPUT_FORMAT_DESCRIPTIONS =
- new StrConfOption("giraph.multiEdgeInput.descriptions", null);
+ new StrConfOption("giraph.multiEdgeInput.descriptions", null,
+ "EdgeInputFormats description - JSON array containing a JSON array " +
+ "for each edge input. Edge input JSON arrays contain one or two " +
+ "elements - first one is the name of edge input class, and second " +
+ "one is JSON object with all specific parameters for this edge " +
+ "input. For example: [[\"EIF1\",{\"p\":\"v1\"}]," +
+ "[\"EIF2\",{\"p\":\"v2\",\"q\":\"v\"}]]");
/**
* Constructor with edge input format class
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/VertexInputFormatDescription.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/VertexInputFormatDescription.java b/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/VertexInputFormatDescription.java
index 1487749..e86f9ed 100644
--- a/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/VertexInputFormatDescription.java
+++ b/giraph-core/src/main/java/org/apache/giraph/io/formats/multi/VertexInputFormatDescription.java
@@ -52,7 +52,13 @@ public class VertexInputFormatDescription<I extends WritableComparable,
* [["VIF1",{"p":"v1"}],["VIF2",{"p":"v2","q":"v"}]]
*/
public static final StrConfOption VERTEX_INPUT_FORMAT_DESCRIPTIONS =
- new StrConfOption("giraph.multiVertexInput.descriptions", null);
+ new StrConfOption("giraph.multiVertexInput.descriptions", null,
+ "VertexInputFormats description - JSON array containing a JSON " +
+ "array for each vertex input. Vertex input JSON arrays contain " +
+ "one or two elements - first one is the name of vertex input " +
+ "class, and second one is JSON object with all specific parameters " +
+ "for this vertex input. For example: [[\"VIF1\",{\"p\":\"v1\"}]," +
+ "[\"VIF2\",{\"p\":\"v2\",\"q\":\"v\"}]]\"");
/**
* Constructor with vertex input format class
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-core/src/main/java/org/apache/giraph/jython/JythonComputationFactory.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/jython/JythonComputationFactory.java b/giraph-core/src/main/java/org/apache/giraph/jython/JythonComputationFactory.java
index 6db5f65..f7331ac 100644
--- a/giraph-core/src/main/java/org/apache/giraph/jython/JythonComputationFactory.java
+++ b/giraph-core/src/main/java/org/apache/giraph/jython/JythonComputationFactory.java
@@ -47,13 +47,16 @@ public class JythonComputationFactory implements ComputationFactory {
/** Type of script path */
public static final EnumConfOption<DeployType> JYTHON_DEPLOY_TYPE =
EnumConfOption.create("giraph.jython.deploy.type",
- DeployType.class, DeployType.DISTRIBUTED_CACHE);
+ DeployType.class, DeployType.DISTRIBUTED_CACHE,
+ "Type of script path");
/** Path to Jython script */
public static final StrConfOption JYTHON_SCRIPT_PATH =
- new StrConfOption("giraph.jython.path", "_script_not_set_");
+ new StrConfOption("giraph.jython.path", "_script_not_set_",
+ "Path to Jython script");
/** Name of Computation class in Jython script */
public static final StrConfOption JYTHON_COMPUTATION_CLASS =
- new StrConfOption("giraph.jython.class", "_computation_class_not_set_");
+ new StrConfOption("giraph.jython.class", "_computation_class_not_set_",
+ "Name of Computation class in Jython script");
/** Logger */
private static final Logger LOG = Logger.getLogger(JythonUtils.class);
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedEdgeReader.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedEdgeReader.java b/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedEdgeReader.java
index 14da5f2..3a3c00f 100644
--- a/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedEdgeReader.java
+++ b/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedEdgeReader.java
@@ -41,7 +41,8 @@ public abstract class GeneratedEdgeReader<
extends EdgeReader<I, E> {
/** Default edges produced by this reader */
public static final LongConfOption DEFAULT_READER_EDGES =
- new LongConfOption("GeneratedEdgeReader.reader_edges", 10);
+ new LongConfOption("GeneratedEdgeReader.reader_edges", 10,
+ "Default edges produced by this reader");
/** Records read so far */
protected long recordsRead = 0;
/** Total records to read (on this split alone) */
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedVertexReader.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedVertexReader.java b/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedVertexReader.java
index 1d74843..ed5a8d0 100644
--- a/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedVertexReader.java
+++ b/giraph-examples/src/main/java/org/apache/giraph/examples/GeneratedVertexReader.java
@@ -43,10 +43,12 @@ public abstract class GeneratedVertexReader<
extends VertexReader<I, V, E> {
/** Vertices produced by this reader */
public static final LongConfOption READER_VERTICES =
- new LongConfOption("GeneratedVertexReader.reader_vertices", 10);
+ new LongConfOption("GeneratedVertexReader.reader_vertices", 10,
+ "Vertices produced by this reader");
/** Reverse the order of the vertices? */
public static final BooleanConfOption REVERSE_ID_ORDER =
- new BooleanConfOption("GeneratedVertexReader.reverseIdOrder", false);
+ new BooleanConfOption("GeneratedVertexReader.reverseIdOrder", false,
+ "Reverse the order of the vertices?");
/** Records read so far */
protected long recordsRead = 0;
/** Total records to read (on this split alone) */
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-examples/src/main/java/org/apache/giraph/examples/SimpleShortestPathsComputation.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/main/java/org/apache/giraph/examples/SimpleShortestPathsComputation.java b/giraph-examples/src/main/java/org/apache/giraph/examples/SimpleShortestPathsComputation.java
index bc39cad..532009e 100644
--- a/giraph-examples/src/main/java/org/apache/giraph/examples/SimpleShortestPathsComputation.java
+++ b/giraph-examples/src/main/java/org/apache/giraph/examples/SimpleShortestPathsComputation.java
@@ -40,7 +40,8 @@ public class SimpleShortestPathsComputation extends BasicComputation<
LongWritable, DoubleWritable, FloatWritable, DoubleWritable> {
/** The shortest paths id */
public static final LongConfOption SOURCE_ID =
- new LongConfOption("SimpleShortestPathsVertex.sourceId", 1);
+ new LongConfOption("SimpleShortestPathsVertex.sourceId", 1,
+ "The shortest paths id");
/** Class logger */
private static final Logger LOG =
Logger.getLogger(SimpleShortestPathsComputation.class);
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-hive/src/main/java/org/apache/giraph/hive/common/GiraphHiveConstants.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/common/GiraphHiveConstants.java b/giraph-hive/src/main/java/org/apache/giraph/hive/common/GiraphHiveConstants.java
index d23046b..e492694 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/common/GiraphHiveConstants.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/common/GiraphHiveConstants.java
@@ -38,19 +38,24 @@ public class GiraphHiveConstants {
/** Class for converting vertices to Hive records */
public static final ClassConfOption<VertexToHive> VERTEX_TO_HIVE_CLASS =
ClassConfOption.create("giraph.vertex.to.hive.class", null,
- VertexToHive.class);
+ VertexToHive.class,
+ "Class for converting vertices to Hive records");
/** Vertex output profile id */
public static final StrConfOption HIVE_VERTEX_OUTPUT_PROFILE_ID =
- new StrConfOption("giraph.hive.output.vertex.profileId", "vertex_output");
+ new StrConfOption("giraph.hive.output.vertex.profileId", "vertex_output",
+ "Vertex output profile id");
/** Vertex output database name */
public static final StrConfOption HIVE_VERTEX_OUTPUT_DATABASE =
- new StrConfOption("giraph.hive.output.vertex.database", "default");
+ new StrConfOption("giraph.hive.output.vertex.database", "default",
+ "Vertex output database name");
/** Vertex output table name */
public static final StrConfOption HIVE_VERTEX_OUTPUT_TABLE =
- new StrConfOption("giraph.hive.output.vertex.table", "");
+ new StrConfOption("giraph.hive.output.vertex.table", "",
+ "Vertex output table name");
/** Vertex output partition */
public static final StrConfOption HIVE_VERTEX_OUTPUT_PARTITION =
- new StrConfOption("giraph.hive.output.vertex.partition", "");
+ new StrConfOption("giraph.hive.output.vertex.partition", "",
+ "Vertex output partition");
/** Don't construct */
protected GiraphHiveConstants() { }
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/giraph-hive/src/main/java/org/apache/giraph/hive/common/HiveInputOptions.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/common/HiveInputOptions.java b/giraph-hive/src/main/java/org/apache/giraph/hive/common/HiveInputOptions.java
index 17395aa..5108730 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/common/HiveInputOptions.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/common/HiveInputOptions.java
@@ -54,15 +54,19 @@ public class HiveInputOptions<C> {
*/
public HiveInputOptions(String name, Class<C> hiveToTypeClass) {
classOpt = ClassConfOption.<C>create(key(name, "class"),
- null, hiveToTypeClass);
+ null, hiveToTypeClass, "Class for converting hive records");
profileIdOpt = new StrConfOption(key(name, "profileId"),
- name + "_input_profile");
- partitionOpt = new StrConfOption(key(name, "partition"), "");
- splitsOpt = new IntConfOption(key(name, "splits"), 0);
- databaseOpt = new StrConfOption(key(name, "database"), "default");
- tableOpt = new StrConfOption(key(name, "table"), "");
- hostOpt = new StrConfOption(key(name, "metastore.host"), null);
- portOpt = new IntConfOption(key(name, "metastore.port"), 9083);
+ name + "_input_profile", "Input profile id");
+ partitionOpt = new StrConfOption(key(name, "partition"), "",
+ "Input partition filter");
+ splitsOpt = new IntConfOption(key(name, "splits"), 0, "Number of splits");
+ databaseOpt = new StrConfOption(key(name, "database"), "default",
+ "Input database name");
+ tableOpt = new StrConfOption(key(name, "table"), "", "Input table name");
+ hostOpt = new StrConfOption(key(name, "metastore.host"), null,
+ "Hive Metastore host to use. If blank will infer from HiveConf");
+ portOpt = new IntConfOption(key(name, "metastore.port"), 9083,
+ "Hive Metastore port to use.");
}
/**
http://git-wip-us.apache.org/repos/asf/giraph/blob/52c88d8d/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index b5e7e8a..b2145a6 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -80,6 +80,7 @@
<item name="Aggregators" href="aggregators.html"/>
<item name="Out-of-core" href="ooc.html"/>
<item name="Javadoc" href="javadoc_modules.html"/>
+ <item name="Options List" href="options.html"/>
<item name="Presentations" href="presentations.html"/>
<item name="External Community Wiki" href="https://cwiki.apache.org/confluence/display/GIRAPH" />
</menu>