You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2013/11/18 09:49:37 UTC

git commit: TAJO-310: Make the DataLocation class as a separate class and move it to the tajo-core-storage package. (jihoon)

Updated Branches:
  refs/heads/master 67a4d1083 -> 6e2db3baf


TAJO-310: Make the DataLocation class as a separate class and move it to the tajo-core-storage package. (jihoon)


Project: http://git-wip-us.apache.org/repos/asf/incubator-tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tajo/commit/6e2db3ba
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tajo/tree/6e2db3ba
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tajo/diff/6e2db3ba

Branch: refs/heads/master
Commit: 6e2db3baf86d68ec844a523b5fb2de5d800494c5
Parents: 67a4d10
Author: Jihoon Son <ji...@apache.org>
Authored: Mon Nov 18 17:48:56 2013 +0900
Committer: Jihoon Son <ji...@apache.org>
Committed: Mon Nov 18 17:48:56 2013 +0900

----------------------------------------------------------------------
 CHANGES.txt                                     |  2 +
 .../apache/tajo/master/TaskSchedulerImpl.java   |  5 ++-
 .../tajo/master/event/TaskScheduleEvent.java    |  8 ++--
 .../tajo/master/querymaster/QueryUnit.java      | 27 +-----------
 .../master/querymaster/QueryUnitAttempt.java    |  3 +-
 .../org/apache/tajo/storage/DataLocation.java   | 45 ++++++++++++++++++++
 6 files changed, 57 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/6e2db3ba/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index af2a3f6..00aa48d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -63,6 +63,8 @@ Release 0.2.0 - unreleased
 
   IMPROVEMENTS
 
+    TAJO-310: Make the DataLocation class as a separate class and move it to the tajo-core-storage package. (jihoon)
+
     TAJO-311: Improve Hive dependency. (jaehwa)
 
     TAJO-309: Remove unused fields in FileFragment. (jihoon)

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/6e2db3ba/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TaskSchedulerImpl.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TaskSchedulerImpl.java b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TaskSchedulerImpl.java
index 05e64ab..6fe2c9e 100644
--- a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TaskSchedulerImpl.java
+++ b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TaskSchedulerImpl.java
@@ -41,6 +41,7 @@ import org.apache.tajo.master.event.TaskSchedulerEvent.EventType;
 import org.apache.tajo.master.querymaster.QueryMasterTask;
 import org.apache.tajo.master.querymaster.QueryUnit;
 import org.apache.tajo.master.querymaster.SubQuery;
+import org.apache.tajo.storage.DataLocation;
 import org.apache.tajo.util.NetUtils;
 
 import java.net.URI;
@@ -346,9 +347,9 @@ public class TaskSchedulerImpl extends AbstractService
         new HashMap<String, LinkedList<QueryUnitAttemptId>>();
 
     public void addLeafTask(TaskScheduleEvent event) {
-      List<QueryUnit.DataLocation> locations = event.getDataLocations();
+      List<DataLocation> locations = event.getDataLocations();
 
-      for (QueryUnit.DataLocation location : locations) {
+      for (DataLocation location : locations) {
         String host = location.getHost();
 
         TaskBlockLocation taskBlockLocation = leafTaskHostMapping.get(host);

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/6e2db3ba/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/TaskScheduleEvent.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/TaskScheduleEvent.java b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/TaskScheduleEvent.java
index f460203..3a66af1 100644
--- a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/TaskScheduleEvent.java
+++ b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/TaskScheduleEvent.java
@@ -19,7 +19,7 @@
 package org.apache.tajo.master.event;
 
 import org.apache.tajo.QueryUnitAttemptId;
-import org.apache.tajo.master.querymaster.QueryUnit;
+import org.apache.tajo.storage.DataLocation;
 
 import java.util.Arrays;
 import java.util.List;
@@ -27,12 +27,12 @@ import java.util.List;
 public class TaskScheduleEvent extends TaskSchedulerEvent {
   private final QueryUnitAttemptId attemptId;
   private final boolean isLeafQuery;
-  private final List<QueryUnit.DataLocation> dataLocations;
+  private final List<DataLocation> dataLocations;
   private final String[] racks;
 
   public TaskScheduleEvent(final QueryUnitAttemptId attemptId,
                            final EventType eventType, boolean isLeafQuery,
-                           final List<QueryUnit.DataLocation> dataLocations,
+                           final List<DataLocation> dataLocations,
                            final String[] racks) {
     super(eventType, attemptId.getQueryUnitId().getExecutionBlockId());
     this.attemptId = attemptId;
@@ -49,7 +49,7 @@ public class TaskScheduleEvent extends TaskSchedulerEvent {
     return this.isLeafQuery;
   }
 
-  public List<QueryUnit.DataLocation> getDataLocations() {
+  public List<DataLocation> getDataLocations() {
     return this.dataLocations;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/6e2db3ba/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java
index cf8d514..c4d6150 100644
--- a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java
+++ b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java
@@ -34,6 +34,7 @@ import org.apache.tajo.engine.planner.logical.*;
 import org.apache.tajo.ipc.TajoWorkerProtocol.Partition;
 import org.apache.tajo.master.TaskState;
 import org.apache.tajo.master.event.*;
+import org.apache.tajo.storage.DataLocation;
 import org.apache.tajo.storage.fragment.FileFragment;
 import org.apache.tajo.storage.fragment.Fragment;
 import org.apache.tajo.util.TajoIdUtils;
@@ -527,30 +528,4 @@ public class QueryUnit implements EventHandler<TaskEvent> {
       return pullHost + ":" + port;
     }
   }
-
-  public static class DataLocation {
-    private String host;
-    private int volumeId;
-
-    public DataLocation(String host, int volumeId) {
-      this.host = host;
-      this.volumeId = volumeId;
-    }
-
-    public String getHost() {
-      return host;
-    }
-
-    public int getVolumeId() {
-      return volumeId;
-    }
-
-    @Override
-    public String toString() {
-      return "DataLocation{" +
-          "host=" + host +
-          ", volumeId=" + volumeId +
-          '}';
-    }
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/6e2db3ba/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnitAttempt.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnitAttempt.java b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnitAttempt.java
index 2304784..0b3bb7d 100644
--- a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnitAttempt.java
+++ b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnitAttempt.java
@@ -31,6 +31,7 @@ import org.apache.tajo.ipc.TajoWorkerProtocol.TaskCompletionReport;
 import org.apache.tajo.master.event.*;
 import org.apache.tajo.master.event.TaskSchedulerEvent.EventType;
 import org.apache.tajo.master.querymaster.QueryUnit.IntermediateEntry;
+import org.apache.tajo.storage.DataLocation;
 import org.apache.tajo.util.TajoIdUtils;
 
 import java.util.*;
@@ -206,7 +207,7 @@ public class QueryUnitAttempt implements EventHandler<TaskAttemptEvent> {
       if (taskAttempt.isLeafTask()
           && taskAttempt.getQueryUnit().getScanNodes().length == 1) {
         Set<String> racks = new HashSet<String>();
-        for (QueryUnit.DataLocation location : taskAttempt.getQueryUnit().getDataLocations()) {
+        for (DataLocation location : taskAttempt.getQueryUnit().getDataLocations()) {
           racks.add(RackResolver.resolve(location.getHost()).getNetworkLocation());
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/6e2db3ba/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/DataLocation.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/DataLocation.java b/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/DataLocation.java
new file mode 100644
index 0000000..8841a31
--- /dev/null
+++ b/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/DataLocation.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.tajo.storage;
+
+public class DataLocation {
+  private String host;
+  private int volumeId;
+
+  public DataLocation(String host, int volumeId) {
+    this.host = host;
+    this.volumeId = volumeId;
+  }
+
+  public String getHost() {
+    return host;
+  }
+
+  public int getVolumeId() {
+    return volumeId;
+  }
+
+  @Override
+  public String toString() {
+    return "DataLocation{" +
+        "host=" + host +
+        ", volumeId=" + volumeId +
+        '}';
+  }
+}