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 2014/12/22 09:11:39 UTC
[4/9] tajo git commit: TAJO-1262: Rename the prefix 'SubQuery' to
'Stage'.
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/java/org/apache/tajo/worker/Task.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/worker/Task.java b/tajo-core/src/main/java/org/apache/tajo/worker/Task.java
index 0920619..70a3202 100644
--- a/tajo-core/src/main/java/org/apache/tajo/worker/Task.java
+++ b/tajo-core/src/main/java/org/apache/tajo/worker/Task.java
@@ -162,7 +162,7 @@ public class Task {
context.setState(TaskAttemptState.TA_PENDING);
LOG.info("==================================");
- LOG.info("* Subquery " + request.getId() + " is initialized");
+ LOG.info("* Stage " + request.getId() + " is initialized");
LOG.info("* InterQuery: " + interQuery
+ (interQuery ? ", Use " + this.shuffleType + " shuffle":"") +
", Fragments (num: " + request.getFragments().size() + ")" +
@@ -734,24 +734,24 @@ public class Task {
final List<String> types = params.get("type");
final List<String> qids = params.get("qid");
final List<String> taskIdList = params.get("ta");
- final List<String> subQueryIds = params.get("sid");
+ final List<String> stageIds = params.get("sid");
final List<String> partIds = params.get("p");
final List<String> offsetList = params.get("offset");
final List<String> lengthList = params.get("length");
- if (types == null || subQueryIds == null || qids == null || partIds == null) {
- LOG.error("Invalid URI - Required queryId, type, subquery Id, and part id");
+ if (types == null || stageIds == null || qids == null || partIds == null) {
+ LOG.error("Invalid URI - Required queryId, type, stage Id, and part id");
return null;
}
- if (qids.size() != 1 && types.size() != 1 || subQueryIds.size() != 1) {
- LOG.error("Invalid URI - Required qids, type, taskIds, subquery Id, and part id");
+ if (qids.size() != 1 && types.size() != 1 || stageIds.size() != 1) {
+ LOG.error("Invalid URI - Required qids, type, taskIds, stage Id, and part id");
return null;
}
String queryId = qids.get(0);
String shuffleType = types.get(0);
- String sid = subQueryIds.get(0);
+ String sid = stageIds.get(0);
String partId = partIds.get(0);
if (shuffleType.equals("r") && taskIdList == null) {
@@ -767,10 +767,10 @@ public class Task {
LOG.info("PullServer request param: shuffleType=" + shuffleType + ", sid=" + sid + ", partId=" + partId
+ ", taskIds=" + taskIdList);
- // The working directory of Tajo worker for each query, including subquery
+ // The working directory of Tajo worker for each query, including stage
String queryBaseDir = queryId.toString() + "/output" + "/" + sid + "/";
- // If the subquery requires a range shuffle
+ // If the stage requires a range shuffle
if (shuffleType.equals("r")) {
String ta = taskIds.get(0);
if (!executionBlockContext.getLocalDirAllocator().ifExists(queryBaseDir + ta + "/output/", conf)) {
@@ -790,7 +790,7 @@ public class Task {
return null;
}
- // If the subquery requires a hash shuffle or a scattered hash shuffle
+ // If the stage requires a hash shuffle or a scattered hash shuffle
} else if (shuffleType.equals("h") || shuffleType.equals("s")) {
int partParentId = HashShuffleAppenderManager.getPartParentId(Integer.parseInt(partId), (TajoConf) conf);
String partPath = queryBaseDir + "hash-shuffle/" + partParentId + "/" + partId;
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java b/tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java
index 1556a44..3092c47 100644
--- a/tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java
+++ b/tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java
@@ -51,7 +51,7 @@ import static org.apache.tajo.catalog.proto.CatalogProtos.FragmentProto;
/**
- * Contains the information about executing subquery.
+ * Contains the information about executing task attempt.
*/
public class TaskAttemptContext {
private static final Log LOG = LogFactory.getLog(TaskAttemptContext.class);
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/resources/webapps/admin/querydetail.jsp
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/resources/webapps/admin/querydetail.jsp b/tajo-core/src/main/resources/webapps/admin/querydetail.jsp
index 41b0e8f..099301e 100644
--- a/tajo-core/src/main/resources/webapps/admin/querydetail.jsp
+++ b/tajo-core/src/main/resources/webapps/admin/querydetail.jsp
@@ -25,7 +25,7 @@
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.tajo.util.history.QueryHistory" %>
-<%@ page import="org.apache.tajo.util.history.SubQueryHistory" %>
+<%@ page import="org.apache.tajo.util.history.StageHistory" %>
<%@ page import="org.apache.tajo.util.history.HistoryReader" %>
<%
@@ -36,8 +36,8 @@
String startTime = request.getParameter("startTime");
QueryHistory queryHistory = reader.getQueryHistory(queryId, Long.parseLong(startTime));
- List<SubQueryHistory> subQueryHistories =
- queryHistory != null ? JSPUtil.sortSubQueryHistory(queryHistory.getSubQueryHistories()) : null;
+ List<StageHistory> stageHistories =
+ queryHistory != null ? JSPUtil.sortStageHistories(queryHistory.getStageHistories()) : null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
%>
@@ -61,34 +61,34 @@ if (queryHistory == null) {
<div>No Query history data.</div>
<%
} else {
- if (subQueryHistories == null) {
+ if (stageHistories == null) {
%>
- <div>No SubQuery history data.</div>
+ <div>No Stage history data.</div>
<%
} else {
%>
<table width="100%" border="1" class="border_table">
<tr><th>ID</th><th>State</th><th>Started</th><th>Finished</th><th>Running time</th><th>Progress</th><th>Succeeded/Total</th><th>Failed/Killed</th></tr>
<%
- for(SubQueryHistory eachSubQuery: subQueryHistories) {
- String detailLink = "querytasks.jsp?queryId=" + queryId + "&ebid=" + eachSubQuery.getExecutionBlockId() + "&startTime=" + startTime;
+ for(StageHistory eachStage: stageHistories) {
+ String detailLink = "querytasks.jsp?queryId=" + queryId + "&ebid=" + eachStage.getExecutionBlockId() + "&startTime=" + startTime;
%>
<tr>
- <td><a href='<%=detailLink%>'><%=eachSubQuery.getExecutionBlockId()%></a></td>
- <td><%=eachSubQuery.getState()%></td>
- <td><%=df.format(eachSubQuery.getStartTime())%></td>
- <td><%=eachSubQuery.getFinishTime() == 0 ? "-" : df.format(eachSubQuery.getFinishTime())%></td>
- <td><%=JSPUtil.getElapsedTime(eachSubQuery.getStartTime(), eachSubQuery.getFinishTime())%></td>
- <td align='center'><%=JSPUtil.percentFormat(eachSubQuery.getProgress())%>%</td>
- <td align='center'><%=eachSubQuery.getSucceededObjectCount()%> / <%=eachSubQuery.getTotalScheduledObjectsCount()%></td>
- <td align='center'><%=eachSubQuery.getFailedObjectCount()%> / <%=eachSubQuery.getKilledObjectCount()%></td>
+ <td><a href='<%=detailLink%>'><%=eachStage.getExecutionBlockId()%></a></td>
+ <td><%=eachStage.getState()%></td>
+ <td><%=df.format(eachStage.getStartTime())%></td>
+ <td><%=eachStage.getFinishTime() == 0 ? "-" : df.format(eachStage.getFinishTime())%></td>
+ <td><%=JSPUtil.getElapsedTime(eachStage.getStartTime(), eachStage.getFinishTime())%></td>
+ <td align='center'><%=JSPUtil.percentFormat(eachStage.getProgress())%>%</td>
+ <td align='center'><%=eachStage.getSucceededObjectCount()%> / <%=eachStage.getTotalScheduledObjectsCount()%></td>
+ <td align='center'><%=eachStage.getFailedObjectCount()%> / <%=eachStage.getKilledObjectCount()%></td>
</tr>
<%
} //end of for
%>
</table>
<%
- } //end of else [if (subQueryHistories == null)]
+ } //end of else [if (stageHistories == null)]
%>
<p/>
<h3>Applied Session Variables</h3>
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/resources/webapps/admin/querytasks.jsp
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/resources/webapps/admin/querytasks.jsp b/tajo-core/src/main/resources/webapps/admin/querytasks.jsp
index ed97eff..09d9e2e 100644
--- a/tajo-core/src/main/resources/webapps/admin/querytasks.jsp
+++ b/tajo-core/src/main/resources/webapps/admin/querytasks.jsp
@@ -28,7 +28,7 @@
<%@ page import="org.apache.tajo.master.TajoMaster" %>
<%@ page import="org.apache.tajo.util.history.HistoryReader" %>
<%@ page import="org.apache.tajo.util.history.QueryHistory" %>
-<%@ page import="org.apache.tajo.util.history.SubQueryHistory" %>
+<%@ page import="org.apache.tajo.util.history.StageHistory" %>
<%@ page import="org.apache.tajo.master.rm.Worker" %>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.tajo.util.history.TaskHistory" %>
@@ -43,14 +43,14 @@
QueryHistory queryHistory = reader.getQueryHistory(queryId);
- List<SubQueryHistory> subQueryHistories =
- queryHistory != null ? JSPUtil.sortSubQueryHistory(queryHistory.getSubQueryHistories()) : null;
+ List<StageHistory> stageHistories =
+ queryHistory != null ? JSPUtil.sortStageHistories(queryHistory.getStageHistories()) : null;
- SubQueryHistory subQuery = null;
- if (subQueryHistories != null) {
- for (SubQueryHistory eachSubQuery: subQueryHistories) {
- if (eachSubQuery.getExecutionBlockId().equals(ebId)) {
- subQuery = eachSubQuery;
+ StageHistory stage = null;
+ if (stageHistories != null) {
+ for (StageHistory eachStage: stageHistories) {
+ if (eachStage.getExecutionBlockId().equals(ebId)) {
+ stage = eachStage;
break;
}
}
@@ -92,12 +92,12 @@
long totalWriteBytes = 0;
long totalWriteRows = 0;
- if (subQuery != null) {
- totalInputBytes = subQuery.getTotalInputBytes();
- totalReadBytes = subQuery.getTotalReadBytes();
- totalReadRows = subQuery.getTotalReadRows();
- totalWriteBytes = subQuery.getTotalWriteBytes();
- totalWriteRows = subQuery.getTotalWriteRows();
+ if (stage != null) {
+ totalInputBytes = stage.getTotalInputBytes();
+ totalReadBytes = stage.getTotalReadBytes();
+ totalReadRows = stage.getTotalReadRows();
+ totalWriteBytes = stage.getTotalWriteBytes();
+ totalWriteRows = stage.getTotalWriteRows();
}
List<TaskHistory> allTasks = reader.getTaskHistory(queryId, ebId);
@@ -150,12 +150,12 @@
<h3><a href='querydetail.jsp?queryId=<%=queryId%>&startTime=<%=startTime%>'><%=ebId.toString()%></a></h3>
<hr/>
<p/>
- <pre style="white-space:pre-wrap;"><%=subQuery.getPlan()%></pre>
+ <pre style="white-space:pre-wrap;"><%=stage.getPlan()%></pre>
<p/>
<table border="1" width="100%" class="border_table">
- <tr><td align='right' width='180px'>Status:</td><td><%=subQuery.getState()%></td></tr>
- <tr><td align='right'>Started:</td><td><%=df.format(subQuery.getStartTime())%> ~ <%=subQuery.getFinishTime() == 0 ? "-" : df.format(subQuery.getFinishTime())%></td></tr>
- <tr><td align='right'># Tasks:</td><td><%=numTasks%> (Local Tasks: <%=subQuery.getHostLocalAssigned()%>, Rack Local Tasks: <%=subQuery.getRackLocalAssigned()%>)</td></tr>
+ <tr><td align='right' width='180px'>Status:</td><td><%=stage.getState()%></td></tr>
+ <tr><td align='right'>Started:</td><td><%=df.format(stage.getStartTime())%> ~ <%=stage.getFinishTime() == 0 ? "-" : df.format(stage.getFinishTime())%></td></tr>
+ <tr><td align='right'># Tasks:</td><td><%=numTasks%> (Local Tasks: <%=stage.getHostLocalAssigned()%>, Rack Local Tasks: <%=stage.getRackLocalAssigned()%>)</td></tr>
<tr><td align='right'>Progress:</td><td><%=JSPUtil.percentFormat((float) (totalProgress / numTasks))%>%</td></tr>
<tr><td align='right'># Shuffles:</td><td><%=numShuffles%></td></tr>
<tr><td align='right'>Input Bytes:</td><td><%=FileUtil.humanReadableByteCount(totalInputBytes, false) + " (" + nf.format(totalInputBytes) + " B)"%></td></tr>
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/resources/webapps/worker/querydetail.jsp
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/resources/webapps/worker/querydetail.jsp b/tajo-core/src/main/resources/webapps/worker/querydetail.jsp
index ceb1c56..340eb95 100644
--- a/tajo-core/src/main/resources/webapps/worker/querydetail.jsp
+++ b/tajo-core/src/main/resources/webapps/worker/querydetail.jsp
@@ -31,7 +31,7 @@
<%@ page import="java.util.Map" %>
<%@ page import="org.apache.tajo.SessionVars" %>
<%@ page import="org.apache.tajo.util.history.QueryHistory" %>
-<%@ page import="org.apache.tajo.util.history.SubQueryHistory" %>
+<%@ page import="org.apache.tajo.util.history.StageHistory" %>
<%@ page import="org.apache.tajo.util.history.HistoryReader" %>
<%
@@ -61,8 +61,8 @@
return;
}
- List<SubQueryHistory> subQueryHistories =
- queryHistory != null ? JSPUtil.sortSubQueryHistory(queryHistory.getSubQueryHistories()) : null;
+ List<StageHistory> stageHistories =
+ queryHistory != null ? JSPUtil.sortStageHistories(queryHistory.getStageHistories()) : null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
%>
@@ -86,26 +86,26 @@ if (runningQuery && query == null) {
if (errorMessage != null && !errorMessage.isEmpty()) {
out.write("<p/>Message:<p/><pre>" + errorMessage + "</pre>");
}
-} else if (subQueryHistories == null) {
- out.write("<p/>Message:<p/><pre>No SubQueries</pre>");
+} else if (stageHistories == null) {
+ out.write("<p/>Message:<p/><pre>No Stages</pre>");
} else {
%>
<h3><%=queryId.toString()%> <a href='queryplan.jsp?queryId=<%=queryId%>'>[Query Plan]</a></h3>
<table width="100%" border="1" class="border_table">
<tr><th>ID</th><th>State</th><th>Started</th><th>Finished</th><th>Running time</th><th>Progress</th><th>Tasks</th></tr>
<%
-for(SubQueryHistory eachSubQuery: subQueryHistories) {
- eachSubQuery.getSucceededObjectCount();
- String detailLink = "querytasks.jsp?queryId=" + queryId + "&ebid=" + eachSubQuery.getExecutionBlockId();
+for(StageHistory eachStage: stageHistories) {
+ eachStage.getSucceededObjectCount();
+ String detailLink = "querytasks.jsp?queryId=" + queryId + "&ebid=" + eachStage.getExecutionBlockId();
%>
<tr>
- <td><a href='<%=detailLink%>'><%=eachSubQuery.getExecutionBlockId()%></a></td>
- <td><%=eachSubQuery.getState()%></td>
- <td><%=df.format(eachSubQuery.getStartTime())%></td>
- <td><%=eachSubQuery.getFinishTime() == 0 ? "-" : df.format(eachSubQuery.getFinishTime())%></td>
- <td><%=JSPUtil.getElapsedTime(eachSubQuery.getStartTime(), eachSubQuery.getFinishTime())%></td>
- <td align='center'><%=JSPUtil.percentFormat(eachSubQuery.getProgress())%>%</td>
- <td align='center'><a href='<%=detailLink%>&status=SUCCEEDED'><%=eachSubQuery.getSucceededObjectCount()%></a>/<a href='<%=detailLink%>&status=ALL'><%=eachSubQuery.getTotalScheduledObjectsCount()%></a></td>
+ <td><a href='<%=detailLink%>'><%=eachStage.getExecutionBlockId()%></a></td>
+ <td><%=eachStage.getState()%></td>
+ <td><%=df.format(eachStage.getStartTime())%></td>
+ <td><%=eachStage.getFinishTime() == 0 ? "-" : df.format(eachStage.getFinishTime())%></td>
+ <td><%=JSPUtil.getElapsedTime(eachStage.getStartTime(), eachStage.getFinishTime())%></td>
+ <td align='center'><%=JSPUtil.percentFormat(eachStage.getProgress())%>%</td>
+ <td align='center'><a href='<%=detailLink%>&status=SUCCEEDED'><%=eachStage.getSucceededObjectCount()%></a>/<a href='<%=detailLink%>&status=ALL'><%=eachStage.getTotalScheduledObjectsCount()%></a></td>
</tr>
<%
} //end of for
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/resources/webapps/worker/queryplan.jsp
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/resources/webapps/worker/queryplan.jsp b/tajo-core/src/main/resources/webapps/worker/queryplan.jsp
index ec860b9..88de97d 100644
--- a/tajo-core/src/main/resources/webapps/worker/queryplan.jsp
+++ b/tajo-core/src/main/resources/webapps/worker/queryplan.jsp
@@ -25,7 +25,7 @@
<%@ page import="org.apache.tajo.QueryId" %>
<%@ page import="org.apache.tajo.util.TajoIdUtils" %>
<%@ page import="org.apache.tajo.master.querymaster.QueryMasterTask" %>
-<%@ page import="org.apache.tajo.master.querymaster.SubQuery" %>
+<%@ page import="org.apache.tajo.master.querymaster.Stage" %>
<%@ page import="org.apache.tajo.engine.planner.global.ExecutionBlock" %>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.tajo.ExecutionBlockId" %>
@@ -46,22 +46,22 @@
Query query = queryMasterTask.getQuery();
- Map<ExecutionBlockId, SubQuery> subQueryMap = new HashMap<ExecutionBlockId, SubQuery>();
+ Map<ExecutionBlockId, Stage> stageMap = new HashMap<ExecutionBlockId, Stage>();
- for(SubQuery eachSubQuery: query.getSubQueries()) {
- subQueryMap.put(eachSubQuery.getId(), eachSubQuery);
+ for(Stage eachStage : query.getStages()) {
+ stageMap.put(eachStage.getId(), eachStage);
}
- class SubQueryInfo {
+ class StageInfo {
ExecutionBlock executionBlock;
- SubQuery subQuery;
+ Stage stage;
ExecutionBlockId parentId;
int px;
int py;
int pos; // 0: mid 1: left 2: right
- public SubQueryInfo(ExecutionBlock executionBlock, SubQuery subQuery, ExecutionBlockId parentId, int px, int py, int pos) {
+ public StageInfo(ExecutionBlock executionBlock, Stage stage, ExecutionBlockId parentId, int px, int py, int pos) {
this.executionBlock = executionBlock;
- this.subQuery = subQuery;
+ this.stage = stage;
this.parentId = parentId;
this.px = px;
this.py = py;
@@ -102,21 +102,21 @@
String curIdStr = null;
int x=35, y=1;
int pos;
- List<SubQueryInfo> subQueryInfos = new ArrayList<SubQueryInfo>();
+ List<StageInfo> stageInfos = new ArrayList<StageInfo>();
- subQueryInfos.add(new SubQueryInfo(masterPlan.getRoot(), null, null, x, y, 0));
+ stageInfos.add(new StageInfo(masterPlan.getRoot(), null, null, x, y, 0));
- while (!subQueryInfos.isEmpty()) {
- SubQueryInfo eachSubQueryInfo = subQueryInfos.remove(0);
- curIdStr = eachSubQueryInfo.executionBlock.getId().toString();
+ while (!stageInfos.isEmpty()) {
+ StageInfo eachStageInfo = stageInfos.remove(0);
+ curIdStr = eachStageInfo.executionBlock.getId().toString();
- y = eachSubQueryInfo.py + 13;
- if (eachSubQueryInfo.pos == 0) {
- x = eachSubQueryInfo.px;
- } else if (eachSubQueryInfo.pos == 1) {
- x = eachSubQueryInfo.px - 20;
- } else if (eachSubQueryInfo.pos == 2) {
- x = eachSubQueryInfo.px + 20;
+ y = eachStageInfo.py + 13;
+ if (eachStageInfo.pos == 0) {
+ x = eachStageInfo.px;
+ } else if (eachStageInfo.pos == 1) {
+ x = eachStageInfo.px - 20;
+ } else if (eachStageInfo.pos == 2) {
+ x = eachStageInfo.px + 20;
}
%>
<script type='text/javascript'>
@@ -128,17 +128,17 @@
</div>
<%
- if (eachSubQueryInfo.parentId != null) {
+ if (eachStageInfo.parentId != null) {
String outgoing = "";
String prefix = "";
- for (DataChannel channel : masterPlan.getOutgoingChannels(eachSubQueryInfo.executionBlock.getId())) {
+ for (DataChannel channel : masterPlan.getOutgoingChannels(eachStageInfo.executionBlock.getId())) {
outgoing += prefix + channel.getShuffleType();
prefix = "; ";
}
%>
<script type="text/javascript">
var srcId = "<%=curIdStr%>";
- var destId = "<%=eachSubQueryInfo.parentId.toString()%>";
+ var destId = "<%=eachStageInfo.parentId.toString()%>";
var src = window.jsPlumb.addEndpoint(srcId, {
anchor:"AutoDefault",
paintStyle:{
@@ -187,7 +187,7 @@
<script type='text/javascript'>
var e = document.getElementById("<%=curIdStr%>");
- var state = "<%=eachSubQueryInfo.subQuery != null ? eachSubQueryInfo.subQuery.getState().name(): ""%>";
+ var state = "<%=eachStageInfo.stage != null ? eachStageInfo.stage.getState().name(): ""%>";
switch (state) {
case 'NEW':
e.style.borderColor = "black";
@@ -219,7 +219,7 @@
</script>
<%
- List<ExecutionBlock> children = masterPlan.getChilds(eachSubQueryInfo.executionBlock.getId());
+ List<ExecutionBlock> children = masterPlan.getChilds(eachStageInfo.executionBlock.getId());
if (children.size() == 1) {
pos = 0;
@@ -227,7 +227,7 @@
pos = 1;
}
for (ExecutionBlock child : children) {
- subQueryInfos.add(new SubQueryInfo(child, subQueryMap.get(child.getId()), eachSubQueryInfo.executionBlock.getId(), x, y, pos++));
+ stageInfos.add(new StageInfo(child, stageMap.get(child.getId()), eachStageInfo.executionBlock.getId(), x, y, pos++));
}
} //end of while
%>
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/resources/webapps/worker/querytasks.jsp
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/resources/webapps/worker/querytasks.jsp b/tajo-core/src/main/resources/webapps/worker/querytasks.jsp
index 265937c..3aef49d 100644
--- a/tajo-core/src/main/resources/webapps/worker/querytasks.jsp
+++ b/tajo-core/src/main/resources/webapps/worker/querytasks.jsp
@@ -78,14 +78,14 @@
}
Query query = queryMasterTask.getQuery();
- SubQuery subQuery = query.getSubQuery(ebid);
+ Stage stage = query.getStage(ebid);
- if(subQuery == null) {
+ if(stage == null) {
out.write("<script type='text/javascript'>alert('no sub-query'); history.back(0); </script>");
return;
}
- if(subQuery == null) {
+ if(stage == null) {
%>
<script type="text/javascript">
alert("No Execution Block for" + ebid);
@@ -97,7 +97,7 @@
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Task[] allTasks = subQuery.getTasks();
+ Task[] allTasks = stage.getTasks();
long totalInputBytes = 0;
long totalReadBytes = 0;
@@ -105,8 +105,6 @@
long totalWriteBytes = 0;
long totalWriteRows = 0;
int numTasks = allTasks.length;
-// int numSucceededTasks = 0;
-// int localReadTasks = subQuery.;
int numShuffles = 0;
float totalProgress = 0.0f;
@@ -166,12 +164,12 @@
<h3><a href='querydetail.jsp?queryId=<%=paramQueryId%>'><%=ebid.toString()%></a></h3>
<hr/>
<p/>
- <pre style="white-space:pre-wrap;"><%=PlannerUtil.buildExplainString(subQuery.getBlock().getPlan())%></pre>
+ <pre style="white-space:pre-wrap;"><%=PlannerUtil.buildExplainString(stage.getBlock().getPlan())%></pre>
<p/>
<table border="1" width="100%" class="border_table">
- <tr><td align='right' width='180px'>Status:</td><td><%=subQuery.getState()%></td></tr>
- <tr><td align='right'>Started:</td><td><%=df.format(subQuery.getStartTime())%> ~ <%=subQuery.getFinishTime() == 0 ? "-" : df.format(subQuery.getFinishTime())%></td></tr>
- <tr><td align='right'># Tasks:</td><td><%=numTasks%> (Local Tasks: <%=subQuery.getTaskScheduler().getHostLocalAssigned()%>, Rack Local Tasks: <%=subQuery.getTaskScheduler().getRackLocalAssigned()%>)</td></tr>
+ <tr><td align='right' width='180px'>Status:</td><td><%=stage.getState()%></td></tr>
+ <tr><td align='right'>Started:</td><td><%=df.format(stage.getStartTime())%> ~ <%=stage.getFinishTime() == 0 ? "-" : df.format(stage.getFinishTime())%></td></tr>
+ <tr><td align='right'># Tasks:</td><td><%=numTasks%> (Local Tasks: <%=stage.getTaskScheduler().getHostLocalAssigned()%>, Rack Local Tasks: <%=stage.getTaskScheduler().getRackLocalAssigned()%>)</td></tr>
<tr><td align='right'>Progress:</td><td><%=JSPUtil.percentFormat((float) (totalProgress / numTasks))%>%</td></tr>
<tr><td align='right'># Shuffles:</td><td><%=numShuffles%></td></tr>
<tr><td align='right'>Input Bytes:</td><td><%=FileUtil.humanReadableByteCount(totalInputBytes, false) + " (" + nf.format(totalInputBytes) + " B)"%></td></tr>
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/main/resources/webapps/worker/task.jsp
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/resources/webapps/worker/task.jsp b/tajo-core/src/main/resources/webapps/worker/task.jsp
index 5abbd8c..81b1e6d 100644
--- a/tajo-core/src/main/resources/webapps/worker/task.jsp
+++ b/tajo-core/src/main/resources/webapps/worker/task.jsp
@@ -28,7 +28,7 @@
<%@ page import="org.apache.tajo.master.querymaster.Query" %>
<%@ page import="org.apache.tajo.master.querymaster.QueryMasterTask" %>
<%@ page import="org.apache.tajo.master.querymaster.Task" %>
-<%@ page import="org.apache.tajo.master.querymaster.SubQuery" %>
+<%@ page import="org.apache.tajo.master.querymaster.Stage" %>
<%@ page import="org.apache.tajo.storage.DataLocation" %>
<%@ page import="org.apache.tajo.storage.fragment.FileFragment" %>
<%@ page import="org.apache.tajo.storage.fragment.FragmentConvertor" %>
@@ -65,14 +65,14 @@
}
Query query = queryMasterTask.getQuery();
- SubQuery subQuery = query.getSubQuery(ebid);
+ Stage stage = query.getStage(ebid);
- if(subQuery == null) {
+ if(stage == null) {
out.write("<script type='text/javascript'>alert('no sub-query'); history.back(0); </script>");
return;
}
- if(subQuery == null) {
+ if(stage == null) {
%>
<script type="text/javascript">
alert("No Execution Block for" + ebid);
@@ -84,7 +84,7 @@
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TaskId taskId = new TaskId(ebid, taskSeq);
- Task task = subQuery.getTask(taskId);
+ Task task = stage.getTask(taskId);
if(task == null) {
%>
<script type="text/javascript">
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java b/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
index 9868297..7dc1089 100644
--- a/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
+++ b/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
@@ -45,8 +45,8 @@ import org.apache.tajo.conf.TajoConf.ConfVars;
import org.apache.tajo.master.TajoMaster;
import org.apache.tajo.master.querymaster.Query;
import org.apache.tajo.master.querymaster.QueryMasterTask;
-import org.apache.tajo.master.querymaster.SubQuery;
-import org.apache.tajo.master.querymaster.SubQueryState;
+import org.apache.tajo.master.querymaster.Stage;
+import org.apache.tajo.master.querymaster.StageState;
import org.apache.tajo.master.rm.TajoWorkerResourceManager;
import org.apache.tajo.util.CommonTestingUtil;
import org.apache.tajo.util.KeyValueSet;
@@ -804,10 +804,10 @@ public class TajoTestingCluster {
}
}
- public void waitForSubQueryState(SubQuery subQuery, SubQueryState expected, int delay) throws Exception {
+ public void waitForStageState(Stage stage, StageState expected, int delay) throws Exception {
int i = 0;
- while (subQuery == null || subQuery.getSynchronizedState() != expected) {
+ while (stage == null || stage.getSynchronizedState() != expected) {
try {
Thread.sleep(delay);
} catch (InterruptedException e) {
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/TestQueryIdFactory.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/TestQueryIdFactory.java b/tajo-core/src/test/java/org/apache/tajo/TestQueryIdFactory.java
index 836dd2f..8dc95de 100644
--- a/tajo-core/src/test/java/org/apache/tajo/TestQueryIdFactory.java
+++ b/tajo-core/src/test/java/org/apache/tajo/TestQueryIdFactory.java
@@ -38,12 +38,12 @@ public class TestQueryIdFactory {
}
@Test
- public void testNewSubQueryId() {
+ public void testNewStageId() {
QueryId qid = LocalTajoTestingUtility.newQueryId();
MasterPlan plan = new MasterPlan(qid, null, null);
- ExecutionBlockId subqid1 = plan.newExecutionBlockId();
- ExecutionBlockId subqid2 = plan.newExecutionBlockId();
- assertTrue(subqid1.compareTo(subqid2) < 0);
+ ExecutionBlockId stageId1 = plan.newExecutionBlockId();
+ ExecutionBlockId stageId2 = plan.newExecutionBlockId();
+ assertTrue(stageId1.compareTo(stageId2) < 0);
}
@Test
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java b/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java
index d187071..113288a 100644
--- a/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java
+++ b/tajo-core/src/test/java/org/apache/tajo/client/TestTajoClient.java
@@ -38,7 +38,7 @@ import org.apache.tajo.conf.TajoConf;
import org.apache.tajo.ipc.ClientProtos;
import org.apache.tajo.ipc.ClientProtos.QueryHistoryProto;
import org.apache.tajo.ipc.ClientProtos.QueryInfoProto;
-import org.apache.tajo.ipc.ClientProtos.SubQueryHistoryProto;
+import org.apache.tajo.ipc.ClientProtos.StageHistoryProto;
import org.apache.tajo.jdbc.TajoResultSet;
import org.apache.tajo.storage.StorageConstants;
import org.apache.tajo.storage.StorageUtil;
@@ -785,13 +785,13 @@ public class TestTajoClient {
QueryHistoryProto queryHistory = client.getQueryHistory(queryId);
assertNotNull(queryHistory);
assertEquals(queryId.toString(), queryHistory.getQueryId());
- assertEquals(2, queryHistory.getSubQueryHistoriesCount());
+ assertEquals(2, queryHistory.getStageHistoriesCount());
- List<SubQueryHistoryProto> taskHistories =
- new ArrayList<SubQueryHistoryProto>(queryHistory.getSubQueryHistoriesList());
- Collections.sort(taskHistories, new Comparator<SubQueryHistoryProto>() {
+ List<ClientProtos.StageHistoryProto> taskHistories =
+ new ArrayList<StageHistoryProto>(queryHistory.getStageHistoriesList());
+ Collections.sort(taskHistories, new Comparator<StageHistoryProto>() {
@Override
- public int compare(SubQueryHistoryProto o1, SubQueryHistoryProto o2) {
+ public int compare(ClientProtos.StageHistoryProto o1, StageHistoryProto o2) {
return o1.getExecutionBlockId().compareTo(o2.getExecutionBlockId());
}
});
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
index edbe029..bfd1700 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
@@ -27,7 +27,7 @@ import org.apache.tajo.conf.TajoConf.ConfVars;
import org.apache.tajo.master.querymaster.Query;
import org.apache.tajo.master.querymaster.QueryMasterTask;
import org.apache.tajo.master.querymaster.Task;
-import org.apache.tajo.master.querymaster.SubQuery;
+import org.apache.tajo.master.querymaster.Stage;
import org.apache.tajo.storage.StorageConstants;
import org.apache.tajo.util.KeyValueSet;
import org.apache.tajo.util.TUtil;
@@ -367,7 +367,7 @@ public class TestGroupByQuery extends QueryTestCaseBase {
assertResultSet(res, "testDistinctAggregation_case4.result");
res.close();
- // two groupby, two distinct, two aggregation with subquery
+ // two groupby, two distinct, two aggregation with stage
res = executeFile("testDistinctAggregation_case5.sql");
assertResultSet(res, "testDistinctAggregation_case5.result");
res.close();
@@ -731,12 +731,12 @@ public class TestGroupByQuery extends QueryTestCaseBase {
Set<Integer> partitionIds = new HashSet<Integer>();
Query query = qmTasks.get(qmTasks.size() - 1).getQuery();
- Collection<SubQuery> subQueries = query.getSubQueries();
- assertNotNull(subQueries);
- assertTrue(!subQueries.isEmpty());
- for (SubQuery subQuery: subQueries) {
- if (subQuery.getId().toStringNoPrefix().endsWith("_000001")) {
- for (Task.IntermediateEntry eachInterm: subQuery.getHashShuffleIntermediateEntries()) {
+ Collection<Stage> stages = query.getStages();
+ assertNotNull(stages);
+ assertTrue(!stages.isEmpty());
+ for (Stage stage : stages) {
+ if (stage.getId().toStringNoPrefix().endsWith("_000001")) {
+ for (Task.IntermediateEntry eachInterm: stage.getHashShuffleIntermediateEntries()) {
partitionIds.add(eachInterm.getPartId());
}
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java
index b1e1bec..3400752 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java
@@ -287,7 +287,7 @@ public class TestTablePartitions extends QueryTestCaseBase {
assertResultSet(res, "case12.result");
res.close();
- // alias partition column in subquery
+ // alias partition column in stage
res = executeFile("case13.sql");
assertResultSet(res, "case13.result");
res.close();
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java
index 3d292a4..d46d110 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java
@@ -145,7 +145,7 @@ public class TestUnionQuery extends QueryTestCaseBase {
@Test
public final void testUnion12() throws Exception {
// test filter pushdown
- // with subquery in union query
+ // with stage in union query
ResultSet res = executeQuery();
assertResultSet(res);
cleanupQuery(res);
@@ -154,7 +154,7 @@ public class TestUnionQuery extends QueryTestCaseBase {
@Test
public final void testUnion13() throws Exception {
// test filter pushdown
- // with subquery in union query
+ // with stage in union query
ResultSet res = executeQuery();
assertResultSet(res);
cleanupQuery(res);
@@ -163,7 +163,7 @@ public class TestUnionQuery extends QueryTestCaseBase {
@Test
public final void testUnion14() throws Exception {
// test filter pushdown
- // with group by subquery in union query
+ // with group by stage in union query
ResultSet res = executeQuery();
assertResultSet(res);
cleanupQuery(res);
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestKillQuery.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestKillQuery.java b/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestKillQuery.java
index 37ee402..c1f4178 100644
--- a/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestKillQuery.java
+++ b/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestKillQuery.java
@@ -85,13 +85,13 @@ public class TestKillQuery {
assertEquals(TajoProtos.QueryState.QUERY_RUNNING, queryMasterTask.getQuery().getSynchronizedState());
}
- SubQuery subQuery = queryMasterTask.getQuery().getSubQueries().iterator().next();
- assertNotNull(subQuery);
+ Stage stage = queryMasterTask.getQuery().getStages().iterator().next();
+ assertNotNull(stage);
try{
- cluster.waitForSubQueryState(subQuery, SubQueryState.INITED, 2);
+ cluster.waitForStageState(stage, StageState.INITED, 2);
} finally {
- assertEquals(SubQueryState.INITED, subQuery.getSynchronizedState());
+ assertEquals(StageState.INITED, stage.getSynchronizedState());
}
// fire kill event
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestTaskStatusUpdate.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestTaskStatusUpdate.java b/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestTaskStatusUpdate.java
index 1c2a1a8..3a54478 100644
--- a/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestTaskStatusUpdate.java
+++ b/tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestTaskStatusUpdate.java
@@ -103,7 +103,7 @@ public class TestTaskStatusUpdate extends QueryTestCaseBase {
String actualResult = resultSetToString(res);
System.out.println(actualResult);
- // in/out * subquery(4)
+ // in/out * stage(4)
long[] expectedNumRows = new long[]{2, 2, 5, 5, 7, 2, 2, 2};
long[] expectedNumBytes = new long[]{8, 34, 20, 75, 109, 34, 34, 18};
long[] expectedReadBytes = new long[]{8, 8, 20, 20, 109, 0, 34, 0};
@@ -131,7 +131,7 @@ public class TestTaskStatusUpdate extends QueryTestCaseBase {
res.close();
}
- private void assertStatus(int numSubQueries,
+ private void assertStatus(int numStages,
long[] expectedNumRows,
long[] expectedNumBytes,
long[] expectedReadBytes) throws Exception {
@@ -160,20 +160,20 @@ public class TestTaskStatusUpdate extends QueryTestCaseBase {
assertNotNull(query);
- List<SubQuery> subQueries = new ArrayList<SubQuery>(query.getSubQueries());
- assertEquals(numSubQueries, subQueries.size());
+ List<Stage> stages = new ArrayList<Stage>(query.getStages());
+ assertEquals(numStages, stages.size());
- Collections.sort(subQueries, new Comparator<SubQuery>() {
+ Collections.sort(stages, new Comparator<Stage>() {
@Override
- public int compare(SubQuery o1, SubQuery o2) {
+ public int compare(Stage o1, Stage o2) {
return o1.getId().compareTo(o2.getId());
}
});
int index = 0;
- for (SubQuery eachSubQuery: subQueries) {
- TableStats inputStats = eachSubQuery.getInputStats();
- TableStats resultStats = eachSubQuery.getResultStats();
+ for (Stage eachStage : stages) {
+ TableStats inputStats = eachStage.getInputStats();
+ TableStats resultStats = eachStage.getResultStats();
assertNotNull(inputStats);
assertEquals(expectedNumRows[index], inputStats.getNumRows().longValue());
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-core/src/test/java/org/apache/tajo/util/history/TestHistoryWriterReader.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/util/history/TestHistoryWriterReader.java b/tajo-core/src/test/java/org/apache/tajo/util/history/TestHistoryWriterReader.java
index 8d6a94d..632e9c2 100644
--- a/tajo-core/src/test/java/org/apache/tajo/util/history/TestHistoryWriterReader.java
+++ b/tajo-core/src/test/java/org/apache/tajo/util/history/TestHistoryWriterReader.java
@@ -126,12 +126,12 @@ public class TestHistoryWriterReader extends QueryTestCaseBase {
QueryId queryId = QueryIdFactory.newQueryId(startTime, 1);
queryHistory.setQueryId(queryId.toString());
queryHistory.setLogicalPlan("LogicalPlan");
- List<SubQueryHistory> subQueries = new ArrayList<SubQueryHistory>();
+ List<StageHistory> stages = new ArrayList<StageHistory>();
for (int i = 0; i < 3; i++) {
ExecutionBlockId ebId = QueryIdFactory.newExecutionBlockId(queryId, i);
- SubQueryHistory subQueryHistory = new SubQueryHistory();
- subQueryHistory.setExecutionBlockId(ebId.toString());
- subQueryHistory.setStartTime(startTime + i);
+ StageHistory stageHistory = new StageHistory();
+ stageHistory.setExecutionBlockId(ebId.toString());
+ stageHistory.setStartTime(startTime + i);
List<TaskHistory> taskHistories = new ArrayList<TaskHistory>();
for (int j = 0; j < 5; j++) {
@@ -139,10 +139,10 @@ public class TestHistoryWriterReader extends QueryTestCaseBase {
taskHistory.setId(QueryIdFactory.newTaskAttemptId(QueryIdFactory.newTaskId(ebId), 1).toString());
taskHistories.add(taskHistory);
}
- subQueryHistory.setTasks(taskHistories);
- subQueries.add(subQueryHistory);
+ stageHistory.setTasks(taskHistories);
+ stages.add(stageHistory);
}
- queryHistory.setSubQueryHistories(subQueries);
+ queryHistory.setStageHistories(stages);
writer.appendHistory(queryHistory);
@@ -166,16 +166,16 @@ public class TestHistoryWriterReader extends QueryTestCaseBase {
QueryHistory foundQueryHistory = reader.getQueryHistory(queryId.toString());
assertNotNull(foundQueryHistory);
assertEquals(queryId.toString(), foundQueryHistory.getQueryId());
- assertEquals(3, foundQueryHistory.getSubQueryHistories().size());
+ assertEquals(3, foundQueryHistory.getStageHistories().size());
for (int i = 0; i < 3; i++) {
String ebId = QueryIdFactory.newExecutionBlockId(queryId, i).toString();
- SubQueryHistory subQueryHistory = foundQueryHistory.getSubQueryHistories().get(i);
- assertEquals(ebId, subQueryHistory.getExecutionBlockId());
- assertEquals(startTime + i, subQueryHistory.getStartTime());
+ StageHistory stageHistory = foundQueryHistory.getStageHistories().get(i);
+ assertEquals(ebId, stageHistory.getExecutionBlockId());
+ assertEquals(startTime + i, stageHistory.getStartTime());
// TaskHistory is stored in the other file.
- assertNull(subQueryHistory.getTasks());
+ assertNull(stageHistory.getTasks());
List<TaskHistory> tasks = reader.getTaskHistory(queryId.toString(), ebId);
assertNotNull(tasks);
@@ -183,7 +183,7 @@ public class TestHistoryWriterReader extends QueryTestCaseBase {
for (int j = 0; j < 5; j++) {
TaskHistory taskHistory = tasks.get(j);
- assertEquals(subQueries.get(i).getTasks().get(j).getId(), taskHistory.getId());
+ assertEquals(stages.get(i).getTasks().get(j).getId(), taskHistory.getId());
}
}
} finally {
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-dist/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-dist/pom.xml b/tajo-dist/pom.xml
index c408b16..69b91f9 100644
--- a/tajo-dist/pom.xml
+++ b/tajo-dist/pom.xml
@@ -224,7 +224,7 @@
<arguments>
<argument>Tajo</argument>
<argument>org.apache.tajo.master.querymaster.Query,
- org.apache.tajo.master.querymaster.SubQuery,
+ org.apache.tajo.master.querymaster.Stage,
org.apache.tajo.master.querymaster.Task,
org.apache.tajo.master.querymaster.TaskAttempt
</argument>
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/PullServerAuxService.java
----------------------------------------------------------------------
diff --git a/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/PullServerAuxService.java b/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/PullServerAuxService.java
index 1c63c8a..d633058 100644
--- a/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/PullServerAuxService.java
+++ b/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/PullServerAuxService.java
@@ -363,18 +363,18 @@ public class PullServerAuxService extends AuxiliaryService {
new QueryStringDecoder(request.getUri()).getParameters();
final List<String> types = params.get("type");
final List<String> taskIdList = params.get("ta");
- final List<String> subQueryIds = params.get("sid");
+ final List<String> stageIds = params.get("sid");
final List<String> partitionIds = params.get("p");
- if (types == null || taskIdList == null || subQueryIds == null
+ if (types == null || taskIdList == null || stageIds == null
|| partitionIds == null) {
- sendError(ctx, "Required type, taskIds, subquery Id, and partition id",
+ sendError(ctx, "Required type, taskIds, stage Id, and partition id",
BAD_REQUEST);
return;
}
- if (types.size() != 1 || subQueryIds.size() != 1) {
- sendError(ctx, "Required type, taskIds, subquery Id, and partition id",
+ if (types.size() != 1 || stageIds.size() != 1) {
+ sendError(ctx, "Required type, taskIds, stage Id, and partition id",
BAD_REQUEST);
return;
}
@@ -382,7 +382,7 @@ public class PullServerAuxService extends AuxiliaryService {
final List<FileChunk> chunks = Lists.newArrayList();
String repartitionType = types.get(0);
- String sid = subQueryIds.get(0);
+ String sid = stageIds.get(0);
String partitionId = partitionIds.get(0);
List<String> taskIds = splitMaps(taskIdList);
@@ -399,7 +399,7 @@ public class PullServerAuxService extends AuxiliaryService {
}
LOG.info("PullServer baseDir: " + taskLocalDir + "/" + queryBaseDir);
- // if a subquery requires a range partitioning
+ // if a stage requires a range partitioning
if (repartitionType.equals("r")) {
String ta = taskIds.get(0);
Path path = localFS.makeQualified(
@@ -422,7 +422,7 @@ public class PullServerAuxService extends AuxiliaryService {
chunks.add(chunk);
}
- // if a subquery requires a hash repartition or a scattered hash repartition
+ // if a stage requires a hash repartition or a scattered hash repartition
} else if (repartitionType.equals("h") || repartitionType.equals("s")) {
for (String ta : taskIds) {
Path path = localFS.makeQualified(
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/TajoPullServerService.java
----------------------------------------------------------------------
diff --git a/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/TajoPullServerService.java b/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/TajoPullServerService.java
index 5a4e69f..860bc8e 100644
--- a/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/TajoPullServerService.java
+++ b/tajo-pullserver/src/main/java/org/apache/tajo/pullserver/TajoPullServerService.java
@@ -493,19 +493,19 @@ public class TajoPullServerService extends AbstractService {
final List<String> types = params.get("type");
final List<String> qids = params.get("qid");
final List<String> taskIdList = params.get("ta");
- final List<String> subQueryIds = params.get("sid");
+ final List<String> stageIds = params.get("sid");
final List<String> partIds = params.get("p");
final List<String> offsetList = params.get("offset");
final List<String> lengthList = params.get("length");
- if (types == null || subQueryIds == null || qids == null || partIds == null) {
- sendError(ctx, "Required queryId, type, subquery Id, and part id",
+ if (types == null || stageIds == null || qids == null || partIds == null) {
+ sendError(ctx, "Required queryId, type, stage Id, and part id",
BAD_REQUEST);
return;
}
- if (qids.size() != 1 && types.size() != 1 || subQueryIds.size() != 1) {
- sendError(ctx, "Required qids, type, taskIds, subquery Id, and part id",
+ if (qids.size() != 1 && types.size() != 1 || stageIds.size() != 1) {
+ sendError(ctx, "Required qids, type, taskIds, stage Id, and part id",
BAD_REQUEST);
return;
}
@@ -513,7 +513,7 @@ public class TajoPullServerService extends AbstractService {
String partId = partIds.get(0);
String queryId = qids.get(0);
String shuffleType = types.get(0);
- String sid = subQueryIds.get(0);
+ String sid = stageIds.get(0);
long offset = (offsetList != null && !offsetList.isEmpty()) ? Long.parseLong(offsetList.get(0)) : -1L;
long length = (lengthList != null && !lengthList.isEmpty()) ? Long.parseLong(lengthList.get(0)) : -1L;
@@ -536,7 +536,7 @@ public class TajoPullServerService extends AbstractService {
final List<FileChunk> chunks = Lists.newArrayList();
- // if a subquery requires a range shuffle
+ // if a stage requires a range shuffle
if (shuffleType.equals("r")) {
String ta = taskIds.get(0);
if(!lDirAlloc.ifExists(queryBaseDir + "/" + sid + "/" + ta + "/output/", conf)){
@@ -562,7 +562,7 @@ public class TajoPullServerService extends AbstractService {
chunks.add(chunk);
}
- // if a subquery requires a hash shuffle or a scattered hash shuffle
+ // if a stage requires a hash shuffle or a scattered hash shuffle
} else if (shuffleType.equals("h") || shuffleType.equals("s")) {
int partParentId = HashShuffleAppenderManager.getPartParentId(Integer.parseInt(partId), (TajoConf) conf);
String partPath = queryBaseDir + "/" + sid + "/hash-shuffle/" + partParentId + "/" + partId;
http://git-wip-us.apache.org/repos/asf/tajo/blob/3c833e2a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileStorageManager.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileStorageManager.java b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileStorageManager.java
index 3d4f7d5..c427940 100644
--- a/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileStorageManager.java
+++ b/tajo-storage/tajo-storage-hdfs/src/main/java/org/apache/tajo/storage/FileStorageManager.java
@@ -49,7 +49,7 @@ public class FileStorageManager extends StorageManager {
private final Log LOG = LogFactory.getLog(FileStorageManager.class);
static final String OUTPUT_FILE_PREFIX="part-";
- static final ThreadLocal<NumberFormat> OUTPUT_FILE_FORMAT_SUBQUERY =
+ static final ThreadLocal<NumberFormat> OUTPUT_FILE_FORMAT_STAGE =
new ThreadLocal<NumberFormat>() {
@Override
public NumberFormat initialValue() {
@@ -274,10 +274,10 @@ public class FileStorageManager extends StorageManager {
return workDir;
}
// The final result of a task will be written in a file named part-ss-nnnnnnn,
- // where ss is the subquery id associated with this task, and nnnnnn is the task id.
+ // where ss is the stage id associated with this task, and nnnnnn is the task id.
Path outFilePath = StorageUtil.concatPath(workDir, TajoConstants.RESULT_DIR_NAME,
OUTPUT_FILE_PREFIX +
- OUTPUT_FILE_FORMAT_SUBQUERY.get().format(taskAttemptId.getTaskId().getExecutionBlockId().getId()) + "-" +
+ OUTPUT_FILE_FORMAT_STAGE.get().format(taskAttemptId.getTaskId().getExecutionBlockId().getId()) + "-" +
OUTPUT_FILE_FORMAT_TASK.get().format(taskAttemptId.getTaskId().getId()) + "-" +
OUTPUT_FILE_FORMAT_SEQ.get().format(0));
LOG.info("Output File Path: " + outFilePath);