You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by ik...@apache.org on 2015/06/23 02:02:37 UTC

git commit: updated refs/heads/trunk to ffed230

Repository: giraph
Updated Branches:
  refs/heads/trunk 572ca0630 -> ffed230ba


[GIRAPH 1013] Apply @edunov fix for block output

Summary:
Apply fix:
https://phabricator.fb.com/D2141200

Test Plan: mvn clean install

Reviewers: maja.kabiljo, sergey.edunov, dionysis.logothetis

Reviewed By: dionysis.logothetis

Differential Revision: https://reviews.facebook.net/D40395


Project: http://git-wip-us.apache.org/repos/asf/giraph/repo
Commit: http://git-wip-us.apache.org/repos/asf/giraph/commit/ffed230b
Tree: http://git-wip-us.apache.org/repos/asf/giraph/tree/ffed230b
Diff: http://git-wip-us.apache.org/repos/asf/giraph/diff/ffed230b

Branch: refs/heads/trunk
Commit: ffed230ba8958ba3bc27310b71b0c6df589c3e63
Parents: 572ca06
Author: Igor Kabiljo <ik...@fb.com>
Authored: Thu Jun 18 16:52:22 2015 -0700
Committer: Igor Kabiljo <ik...@fb.com>
Committed: Mon Jun 22 17:01:52 2015 -0700

----------------------------------------------------------------------
 .../api/giraph/BlockMasterCompute.java          |  3 +--
 .../framework/output/BlockOutputHandle.java     | 20 ++++++++++++++++----
 2 files changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/giraph/blob/ffed230b/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/api/giraph/BlockMasterCompute.java
----------------------------------------------------------------------
diff --git a/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/api/giraph/BlockMasterCompute.java b/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/api/giraph/BlockMasterCompute.java
index 69cf9f8..1a8d54d 100644
--- a/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/api/giraph/BlockMasterCompute.java
+++ b/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/api/giraph/BlockMasterCompute.java
@@ -66,7 +66,6 @@ public final class BlockMasterCompute<S> extends MasterCompute {
     object.readFields(in);
     blockMasterLogic = object.get();
     blockMasterLogic.initializeAfterRead(new BlockMasterApiWrapper(this,
-        new BlockOutputHandle(getContext().getJobID().toString(),
-        getConf(), getContext())));
+        new BlockOutputHandle()));
   }
 }

http://git-wip-us.apache.org/repos/asf/giraph/blob/ffed230b/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/output/BlockOutputHandle.java
----------------------------------------------------------------------
diff --git a/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/output/BlockOutputHandle.java b/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/output/BlockOutputHandle.java
index fd38520..76fd768 100644
--- a/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/output/BlockOutputHandle.java
+++ b/giraph-block-app/src/main/java/org/apache/giraph/block_app/framework/output/BlockOutputHandle.java
@@ -38,15 +38,19 @@ public class BlockOutputHandle implements BlockOutputApi {
   private transient Configuration conf;
   private transient Progressable progressable;
   private final Map<String, BlockOutputDesc> outputDescMap;
-  private final Map<String, Queue<BlockOutputWriter>> freeWriters;
-  private final Map<String, Queue<BlockOutputWriter>> occupiedWriters;
+  private final Map<String, Queue<BlockOutputWriter>> freeWriters =
+      new HashMap<>();
+  private final Map<String, Queue<BlockOutputWriter>> occupiedWriters =
+      new HashMap<>();
+
+  public BlockOutputHandle() {
+    outputDescMap = null;
+  }
 
   public BlockOutputHandle(String jobIdentifier, Configuration conf,
       Progressable hadoopProgressable) {
     outputDescMap = BlockOutputFormat.createInitAndCheckOutputDescsMap(
         conf, jobIdentifier);
-    freeWriters = new HashMap<>();
-    occupiedWriters = new HashMap<>();
     for (String confOption : outputDescMap.keySet()) {
       freeWriters.put(confOption,
           new ConcurrentLinkedQueue<BlockOutputWriter>());
@@ -65,11 +69,19 @@ public class BlockOutputHandle implements BlockOutputApi {
   @Override
   public <OW extends BlockOutputWriter, OD extends BlockOutputDesc<OW>>
   OD getOutputDesc(String confOption) {
+    if (outputDescMap == null) {
+      throw new IllegalArgumentException(
+          "Output cannot be used with checkpointing");
+    }
     return (OD) outputDescMap.get(confOption);
   }
 
   @Override
   public <OW extends BlockOutputWriter> OW getWriter(String confOption) {
+    if (outputDescMap == null) {
+      throw new IllegalArgumentException(
+          "Output cannot be used with checkpointing");
+    }
     OW outputWriter = (OW) freeWriters.get(confOption).poll();
     if (outputWriter == null) {
       outputWriter = (OW) outputDescMap.get(confOption).createOutputWriter(