You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by ma...@apache.org on 2014/10/28 19:23:43 UTC
git commit: updated refs/heads/trunk to 62b7145
Repository: giraph
Updated Branches:
refs/heads/trunk 4bb1d3e17 -> 62b714547
Allow vertex/edge/message value to be configurable
Summary: And throw if WritableUtils.createWritable(clazz) is called with GiraphConfigurationSettable.
Test Plan: mvn install
Reviewers: sergey.edunov, pavanka, maja.kabiljo
Reviewed By: maja.kabiljo
Differential Revision: https://reviews.facebook.net/D25353
Project: http://git-wip-us.apache.org/repos/asf/giraph/repo
Commit: http://git-wip-us.apache.org/repos/asf/giraph/commit/62b71454
Tree: http://git-wip-us.apache.org/repos/asf/giraph/tree/62b71454
Diff: http://git-wip-us.apache.org/repos/asf/giraph/diff/62b71454
Branch: refs/heads/trunk
Commit: 62b714547ea082099f673ed2e53a7aa7d47c8b5c
Parents: 4bb1d3e
Author: Igor Kabiljo <ik...@fb.com>
Authored: Tue Oct 28 10:59:37 2014 -0700
Committer: Maja Kabiljo <ma...@fb.com>
Committed: Tue Oct 28 11:03:19 2014 -0700
----------------------------------------------------------------------
CHANGELOG | 2 ++
.../giraph/factories/AbstractMessageValueFactory.java | 5 ++++-
.../giraph/factories/DefaultEdgeValueFactory.java | 5 ++++-
.../giraph/factories/DefaultVertexIdFactory.java | 5 ++++-
.../giraph/factories/DefaultVertexValueFactory.java | 6 ++++--
.../java/org/apache/giraph/utils/WritableUtils.java | 13 +++++++------
6 files changed, 25 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/giraph/blob/62b71454/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index d9398e7..cdfd666 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,8 @@
Giraph Change Log
Release 1.1.0 - unreleased
+ GIRAPH-955: Allow vertex/edge/message value to be configurable (ikabiljo via majakabiljo)
+
GIRAPH-938: Allow fast working with primitives generically (ikabiljo via pavanka)
GIRAPH-945: Always use job Configuration to create Configuration (majakabiljo)
http://git-wip-us.apache.org/repos/asf/giraph/blob/62b71454/giraph-core/src/main/java/org/apache/giraph/factories/AbstractMessageValueFactory.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/factories/AbstractMessageValueFactory.java b/giraph-core/src/main/java/org/apache/giraph/factories/AbstractMessageValueFactory.java
index dcc286f..5551439 100644
--- a/giraph-core/src/main/java/org/apache/giraph/factories/AbstractMessageValueFactory.java
+++ b/giraph-core/src/main/java/org/apache/giraph/factories/AbstractMessageValueFactory.java
@@ -32,6 +32,8 @@ public abstract class AbstractMessageValueFactory<M extends Writable>
implements MessageValueFactory<M> {
/** Message value class */
private Class<M> messageValueClass;
+ /** Configuration */
+ private ImmutableClassesGiraphConfiguration conf;
/**
* Get the message value class from the configuration
@@ -49,11 +51,12 @@ public abstract class AbstractMessageValueFactory<M extends Writable>
@Override
public void initialize(ImmutableClassesGiraphConfiguration conf) {
+ this.conf = conf;
messageValueClass = extractMessageValueClass(conf);
}
@Override public M newInstance() {
- return WritableUtils.createWritable(messageValueClass);
+ return WritableUtils.createWritable(messageValueClass, conf);
}
@Override public String toString() {
http://git-wip-us.apache.org/repos/asf/giraph/blob/62b71454/giraph-core/src/main/java/org/apache/giraph/factories/DefaultEdgeValueFactory.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/factories/DefaultEdgeValueFactory.java b/giraph-core/src/main/java/org/apache/giraph/factories/DefaultEdgeValueFactory.java
index c392c87..998c06f 100644
--- a/giraph-core/src/main/java/org/apache/giraph/factories/DefaultEdgeValueFactory.java
+++ b/giraph-core/src/main/java/org/apache/giraph/factories/DefaultEdgeValueFactory.java
@@ -32,8 +32,11 @@ public class DefaultEdgeValueFactory<E extends Writable>
implements EdgeValueFactory<E> {
/** Cached edge value class. */
private Class<E> edgeValueClass;
+ /** Configuration */
+ private ImmutableClassesGiraphConfiguration conf;
@Override public void initialize(ImmutableClassesGiraphConfiguration conf) {
+ this.conf = conf;
edgeValueClass = conf.getEdgeValueClass();
}
@@ -42,6 +45,6 @@ public class DefaultEdgeValueFactory<E extends Writable>
}
@Override public E newInstance() {
- return WritableUtils.createWritable(edgeValueClass);
+ return WritableUtils.createWritable(edgeValueClass, conf);
}
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/62b71454/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexIdFactory.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexIdFactory.java b/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexIdFactory.java
index 6dafc7c..305548c 100644
--- a/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexIdFactory.java
+++ b/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexIdFactory.java
@@ -31,9 +31,12 @@ public class DefaultVertexIdFactory<I extends WritableComparable>
implements VertexIdFactory<I> {
/** Cached vertex value class. */
private Class<I> vertexIdClass;
+ /** Configuration */
+ private ImmutableClassesGiraphConfiguration conf;
@Override
public void initialize(ImmutableClassesGiraphConfiguration conf) {
+ this.conf = conf;
vertexIdClass = conf.getVertexIdClass();
}
@@ -44,6 +47,6 @@ public class DefaultVertexIdFactory<I extends WritableComparable>
@Override
public I newInstance() {
- return WritableUtils.createWritable(vertexIdClass);
+ return WritableUtils.createWritable(vertexIdClass, conf);
}
}
http://git-wip-us.apache.org/repos/asf/giraph/blob/62b71454/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexValueFactory.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexValueFactory.java b/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexValueFactory.java
index 2fe61ae..634f0d5 100644
--- a/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexValueFactory.java
+++ b/giraph-core/src/main/java/org/apache/giraph/factories/DefaultVertexValueFactory.java
@@ -32,9 +32,12 @@ public class DefaultVertexValueFactory<V extends Writable>
implements VertexValueFactory<V> {
/** Cached vertex value class. */
private Class<V> vertexValueClass;
+ /** Configuration */
+ private ImmutableClassesGiraphConfiguration conf;
@Override
public void initialize(ImmutableClassesGiraphConfiguration conf) {
+ this.conf = conf;
vertexValueClass = conf.getVertexValueClass();
}
@@ -45,7 +48,6 @@ public class DefaultVertexValueFactory<V extends Writable>
@Override
public V newInstance() {
- return WritableUtils.createWritable(vertexValueClass);
+ return WritableUtils.createWritable(vertexValueClass, conf);
}
}
-
http://git-wip-us.apache.org/repos/asf/giraph/blob/62b71454/giraph-core/src/main/java/org/apache/giraph/utils/WritableUtils.java
----------------------------------------------------------------------
diff --git a/giraph-core/src/main/java/org/apache/giraph/utils/WritableUtils.java b/giraph-core/src/main/java/org/apache/giraph/utils/WritableUtils.java
index 0081fc0..3c37bec 100644
--- a/giraph-core/src/main/java/org/apache/giraph/utils/WritableUtils.java
+++ b/giraph-core/src/main/java/org/apache/giraph/utils/WritableUtils.java
@@ -62,11 +62,7 @@ public class WritableUtils {
* @return new instance of class
*/
public static <W extends Writable> W createWritable(Class<W> klass) {
- if (NullWritable.class.equals(klass)) {
- return (W) NullWritable.get();
- } else {
- return ReflectionUtils.newInstance(klass);
- }
+ return createWritable(klass, null);
}
/**
@@ -80,7 +76,12 @@ public class WritableUtils {
public static <W extends Writable> W createWritable(
Class<W> klass,
ImmutableClassesGiraphConfiguration configuration) {
- W result = createWritable(klass);
+ W result;
+ if (NullWritable.class.equals(klass)) {
+ result = (W) NullWritable.get();
+ } else {
+ result = ReflectionUtils.newInstance(klass);
+ }
ConfigurationUtils.configureIfPossible(result, configuration);
return result;
}