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 +
+ '}';
+ }
+}