Yingyi Bu has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/1816
Change subject: rename cc's Task to TaskDescriptor so as to better
differentiate with nc's Task.
......................................................................
rename cc's Task to TaskDescriptor so as to
better differentiate with nc's Task.
Change-Id: Id686ed849e5546dd8d51db8bf09aed27ae9c32fc
---
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/ActivityClusterPlanner.java
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/JobExecutor.java
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/ActivityPlan.java
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobRun.java
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskAttempt.java
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskCluster.java
R
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskDescriptor.java
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java
8 files changed, 46 insertions(+), 46 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/16/1816/1
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/ActivityClusterPlanner.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/ActivityClusterPlanner.java
index 57b8c50..3da8228 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/ActivityClusterPlanner.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/ActivityClusterPlanner.java
@@ -48,7 +48,7 @@
import org.apache.hyracks.control.cc.job.ActivityClusterPlan;
import org.apache.hyracks.control.cc.job.ActivityPlan;
import org.apache.hyracks.control.cc.job.JobRun;
-import org.apache.hyracks.control.cc.job.Task;
+import org.apache.hyracks.control.cc.job.TaskDescriptor;
import org.apache.hyracks.control.cc.job.TaskCluster;
import org.apache.hyracks.control.cc.job.TaskClusterId;
@@ -76,7 +76,7 @@
if (LOGGER.isLoggable(Level.INFO)) {
LOGGER.info("Plan for " + ac);
- LOGGER.info("Built " + taskClusters.length + " Task Clusters");
+ LOGGER.info("Built " + taskClusters.length + " TaskDescriptor
Clusters");
for (TaskCluster tc : taskClusters) {
LOGGER.info("Tasks: " + Arrays.toString(tc.getTasks()));
}
@@ -93,24 +93,24 @@
depAnIds.clear();
getDependencyActivityIds(depAnIds, anId, ac);
ActivityPartitionDetails apd = pcMap.get(anId);
- Task[] tasks = new Task[apd.getPartitionCount()];
+ TaskDescriptor[] tasks = new
TaskDescriptor[apd.getPartitionCount()];
ActivityPlan activityPlan = new ActivityPlan(apd);
for (int i = 0; i < tasks.length; ++i) {
TaskId tid = new TaskId(anId, i);
- tasks[i] = new Task(tid, activityPlan);
+ tasks[i] = new TaskDescriptor(tid, activityPlan);
for (ActivityId danId : depAnIds) {
ActivityCluster dAC =
ac.getActivityClusterGraph().getActivityMap().get(danId);
ActivityClusterPlan dACP =
jobRun.getActivityClusterPlanMap().get(dAC.getId());
assert dACP != null : "IllegalStateEncountered: Dependent
AC is being planned without a plan for "
+ "dependency AC: Encountered no plan for
ActivityID "
+ danId;
- Task[] dATasks =
dACP.getActivityPlanMap().get(danId).getTasks();
+ TaskDescriptor[] dATasks =
dACP.getActivityPlanMap().get(danId).getTasks();
assert dATasks != null : "IllegalStateEncountered:
Dependent AC is being planned without a plan for"
+ " dependency AC: Encountered no plan for
ActivityID "
+ danId;
assert dATasks.length == tasks.length : "Dependency
activity partitioned differently from "
+ "dependent: " + dATasks.length + " != " +
tasks.length;
- Task dTask = dATasks[i];
+ TaskDescriptor dTask = dATasks[i];
TaskId dTaskId = dTask.getTaskId();
tasks[i].getDependencies().add(dTaskId);
dTask.getDependents().add(tid);
@@ -134,12 +134,12 @@
for (TaskCluster tc : taskClusters) {
Set<TaskCluster> tcDependencyTaskClusters =
tc.getDependencyTaskClusters();
- for (Task ts : tc.getTasks()) {
+ for (TaskDescriptor ts : tc.getTasks()) {
TaskId tid = ts.getTaskId();
List<Pair<TaskId, ConnectorDescriptorId>> cInfoList =
taskConnectivity.get(tid);
if (cInfoList != null) {
for (Pair<TaskId, ConnectorDescriptorId> p : cInfoList) {
- Task targetTS =
activityPlanMap.get(p.getLeft().getActivityId()).getTasks()[p.getLeft()
+ TaskDescriptor targetTS =
activityPlanMap.get(p.getLeft().getActivityId()).getTasks()[p.getLeft()
.getPartition()];
TaskCluster targetTC = targetTS.getTaskCluster();
if (targetTC != tc) {
@@ -164,15 +164,15 @@
private TaskCluster[]
buildConnectorPolicyUnawareTaskClusters(ActivityCluster ac,
Map<ActivityId, ActivityPlan> activityPlanMap) {
- List<Task> taskStates = new ArrayList<>();
+ List<TaskDescriptor> taskStates = new ArrayList<>();
for (ActivityId anId : ac.getActivityMap().keySet()) {
ActivityPlan ap = activityPlanMap.get(anId);
- Task[] tasks = ap.getTasks();
+ TaskDescriptor[] tasks = ap.getTasks();
taskStates.addAll(Arrays.asList(tasks));
}
- TaskCluster tc = new TaskCluster(new TaskClusterId(ac.getId(), 0), ac,
taskStates.toArray(new Task[taskStates
+ TaskCluster tc = new TaskCluster(new TaskClusterId(ac.getId(), 0), ac,
taskStates.toArray(new TaskDescriptor[taskStates
.size()]));
- for (Task t : tc.getTasks()) {
+ for (TaskDescriptor t : tc.getTasks()) {
t.setTaskCluster(tc);
}
return new TaskCluster[] { tc };
@@ -185,7 +185,7 @@
BitSet targetBitmap = new BitSet();
for (ActivityId ac1 : activities) {
ActivityCluster ac = acg.getActivityMap().get(ac1);
- Task[] ac1TaskStates = activityPlanMap.get(ac1).getTasks();
+ TaskDescriptor[] ac1TaskStates =
activityPlanMap.get(ac1).getTasks();
int nProducers = ac1TaskStates.length;
List<IConnectorDescriptor> outputConns =
ac.getActivityOutputMap().get(ac1);
if (outputConns == null) {
@@ -194,7 +194,7 @@
for (IConnectorDescriptor c : outputConns) {
ConnectorDescriptorId cdId = c.getConnectorId();
ActivityId ac2 = ac.getConsumerActivity(cdId);
- Task[] ac2TaskStates = activityPlanMap.get(ac2).getTasks();
+ TaskDescriptor[] ac2TaskStates =
activityPlanMap.get(ac2).getTasks();
int nConsumers = ac2TaskStates.length;
if (c.allProducersToAllConsumers()) {
List<Pair<TaskId, ConnectorDescriptorId>> cInfoList = new
ArrayList<>();
@@ -231,8 +231,8 @@
Map<TaskId, Set<TaskId>> taskClusterMap = new HashMap<>();
for (ActivityId anId : ac.getActivityMap().keySet()) {
ActivityPlan ap = activityPlanMap.get(anId);
- Task[] tasks = ap.getTasks();
- for (Task t : tasks) {
+ TaskDescriptor[] tasks = ap.getTasks();
+ for (TaskDescriptor t : tasks) {
Set<TaskId> cluster = new HashSet<>();
TaskId tid = t.getTaskId();
cluster.add(tid);
@@ -308,12 +308,12 @@
List<TaskCluster> tcSet = new ArrayList<>();
counter = 0;
for (List<TaskId> cluster : clusters) {
- List<Task> taskStates = new ArrayList<>();
+ List<TaskDescriptor> taskStates = new ArrayList<>();
for (TaskId tid : cluster) {
taskStates.add(activityPlanMap.get(tid.getActivityId()).getTasks()[tid.getPartition()]);
}
TaskCluster tc = new TaskCluster(new TaskClusterId(ac.getId(),
counter++), ac,
- taskStates.toArray(new Task[taskStates.size()]));
+ taskStates.toArray(new TaskDescriptor[taskStates.size()]));
tcSet.add(tc);
for (TaskId tid : cluster) {
activityPlanMap.get(tid.getActivityId()).getTasks()[tid.getPartition()].setTaskCluster(tc);
@@ -326,8 +326,8 @@
JobRun run = executor.getJobRun();
ActivityCluster ac =
run.getActivityClusterGraph().getActivityMap().get(tid.getActivityId());
ActivityClusterPlan acp =
run.getActivityClusterPlanMap().get(ac.getId());
- Task[] tasks =
acp.getActivityPlanMap().get(tid.getActivityId()).getTasks();
- Task task = tasks[tid.getPartition()];
+ TaskDescriptor[] tasks =
acp.getActivityPlanMap().get(tid.getActivityId()).getTasks();
+ TaskDescriptor task = tasks[tid.getPartition()];
assert task.getTaskId().equals(tid);
return task.getTaskCluster();
}
@@ -344,7 +344,7 @@
Set<ActivityId> activities = ac.getActivityMap().keySet();
BitSet targetBitmap = new BitSet();
for (ActivityId a1 : activities) {
- Task[] ac1TaskStates = taskMap.get(a1).getTasks();
+ TaskDescriptor[] ac1TaskStates = taskMap.get(a1).getTasks();
int nProducers = ac1TaskStates.length;
List<IConnectorDescriptor> outputConns =
ac.getActivityOutputMap().get(a1);
if (outputConns == null) {
@@ -353,7 +353,7 @@
for (IConnectorDescriptor c : outputConns) {
ConnectorDescriptorId cdId = c.getConnectorId();
ActivityId a2 = ac.getConsumerActivity(cdId);
- Task[] ac2TaskStates = taskMap.get(a2).getTasks();
+ TaskDescriptor[] ac2TaskStates = taskMap.get(a2).getTasks();
int nConsumers = ac2TaskStates.length;
int[] fanouts = new int[nProducers];
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/JobExecutor.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/JobExecutor.java
index 2150bdd..86839c8 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/JobExecutor.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/executor/JobExecutor.java
@@ -57,7 +57,7 @@
import org.apache.hyracks.control.cc.job.ActivityClusterPlan;
import org.apache.hyracks.control.cc.job.IJobManager;
import org.apache.hyracks.control.cc.job.JobRun;
-import org.apache.hyracks.control.cc.job.Task;
+import org.apache.hyracks.control.cc.job.TaskDescriptor;
import org.apache.hyracks.control.cc.job.TaskAttempt;
import org.apache.hyracks.control.cc.job.TaskCluster;
import org.apache.hyracks.control.cc.job.TaskClusterAttempt;
@@ -335,14 +335,14 @@
private void assignTaskLocations(TaskCluster tc, Map<String,
List<TaskAttemptDescriptor>> taskAttemptMap)
throws HyracksException {
ActivityClusterGraph acg = jobRun.getActivityClusterGraph();
- Task[] tasks = tc.getTasks();
+ TaskDescriptor[] tasks = tc.getTasks();
List<TaskClusterAttempt> tcAttempts = tc.getAttempts();
int attempts = tcAttempts.size();
TaskClusterAttempt tcAttempt = new TaskClusterAttempt(tc, attempts);
Map<TaskId, TaskAttempt> taskAttempts = new HashMap<>();
Map<TaskId, LValueConstraintExpression> locationMap = new HashMap<>();
for (int i = 0; i < tasks.length; ++i) {
- Task ts = tasks[i];
+ TaskDescriptor ts = tasks[i];
TaskId tid = ts.getTaskId();
TaskAttempt taskAttempt = new TaskAttempt(tcAttempt, new
TaskAttemptId(new TaskId(tid.getActivityId(),
tid.getPartition()), attempts), ts);
@@ -354,7 +354,7 @@
tcAttempt.setTaskAttempts(taskAttempts);
solver.solve(locationMap.values());
for (int i = 0; i < tasks.length; ++i) {
- Task ts = tasks[i];
+ TaskDescriptor ts = tasks[i];
TaskId tid = ts.getTaskId();
TaskAttempt taskAttempt = taskAttempts.get(tid);
String nodeId = assignLocation(acg, locationMap, tid, taskAttempt);
@@ -474,7 +474,7 @@
private String findTaskLocation(TaskId tid) {
ActivityId aid = tid.getActivityId();
ActivityCluster ac =
jobRun.getActivityClusterGraph().getActivityMap().get(aid);
- Task[] tasks =
getActivityClusterPlan(ac).getActivityPlanMap().get(aid).getTasks();
+ TaskDescriptor[] tasks =
getActivityClusterPlan(ac).getActivityPlanMap().get(aid).getTasks();
List<TaskClusterAttempt> tcAttempts =
tasks[tid.getPartition()].getTaskCluster().getAttempts();
if (tcAttempts == null || tcAttempts.isEmpty()) {
return null;
@@ -663,7 +663,7 @@
/**
* Indicates that a single task attempt has encountered a failure.
- * @param ta Failed Task Attempt
+ * @param ta Failed TaskDescriptor Attempt
* @param exceptions exeptions thrown during the failure
*/
public void notifyTaskFailure(TaskAttempt ta, List<Exception> exceptions) {
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/ActivityPlan.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/ActivityPlan.java
index 86a8df2..1f11f21 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/ActivityPlan.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/ActivityPlan.java
@@ -23,7 +23,7 @@
public class ActivityPlan {
private final ActivityPartitionDetails apd;
- private Task[] tasks;
+ private TaskDescriptor[] tasks;
public ActivityPlan(ActivityPartitionDetails apd) {
this.apd = apd;
@@ -33,11 +33,11 @@
return apd;
}
- public Task[] getTasks() {
+ public TaskDescriptor[] getTasks() {
return tasks;
}
- public void setTasks(Task[] tasks) {
+ public void setTasks(TaskDescriptor[] tasks) {
this.tasks = tasks;
}
}
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobRun.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobRun.java
index 55a7a82..e9bd5c9 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobRun.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobRun.java
@@ -312,7 +312,7 @@
entry.set("output-partition-counts", outPartCountsJSON);
ArrayNode tasks = om.createArrayNode();
- for (Task t : acPlan.getTasks()) {
+ for (TaskDescriptor t : acPlan.getTasks()) {
ObjectNode task = om.createObjectNode();
task.put("task-id", t.getTaskId().toString());
@@ -343,7 +343,7 @@
c.put("task-cluster-id",
String.valueOf(tc.getTaskClusterId()));
ArrayNode tasksAry = om.createArrayNode();
- for (Task t : tc.getTasks()) {
+ for (TaskDescriptor t : tc.getTasks()) {
tasksAry.add(t.getTaskId().toString());
}
c.set("tasks", tasksAry);
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskAttempt.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskAttempt.java
index c834029..5d0a297 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskAttempt.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskAttempt.java
@@ -35,7 +35,7 @@
private final TaskAttemptId taskId;
- private final Task task;
+ private final TaskDescriptor task;
private String nodeId;
@@ -47,7 +47,7 @@
private long endTime;
- public TaskAttempt(TaskClusterAttempt tcAttempt, TaskAttemptId taskId,
Task task) {
+ public TaskAttempt(TaskClusterAttempt tcAttempt, TaskAttemptId taskId,
TaskDescriptor task) {
this.tcAttempt = tcAttempt;
this.taskId = taskId;
this.task = task;
@@ -63,7 +63,7 @@
return taskId;
}
- public Task getTask() {
+ public TaskDescriptor getTask() {
return task;
}
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskCluster.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskCluster.java
index f7a325e..f9dbfe6 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskCluster.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskCluster.java
@@ -32,7 +32,7 @@
private final ActivityCluster ac;
- private final Task[] tasks;
+ private final TaskDescriptor[] tasks;
private final Set<PartitionId> producedPartitions;
@@ -44,7 +44,7 @@
private final List<TaskClusterAttempt> taskClusterAttempts;
- public TaskCluster(TaskClusterId taskClusterId, ActivityCluster ac, Task[]
tasks) {
+ public TaskCluster(TaskClusterId taskClusterId, ActivityCluster ac,
TaskDescriptor[] tasks) {
this.taskClusterId = taskClusterId;
this.ac = ac;
this.tasks = tasks;
@@ -63,7 +63,7 @@
return ac;
}
- public Task[] getTasks() {
+ public TaskDescriptor[] getTasks() {
return tasks;
}
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/Task.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskDescriptor.java
similarity index 90%
rename from
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/Task.java
rename to
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskDescriptor.java
index 69eddae..6d9375d 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/Task.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/TaskDescriptor.java
@@ -23,7 +23,7 @@
import org.apache.hyracks.api.dataflow.TaskId;
-public class Task {
+public class TaskDescriptor {
private final TaskId taskId;
private final ActivityPlan activityPlan;
@@ -34,11 +34,11 @@
private TaskCluster taskCluster;
- public Task(TaskId taskId, ActivityPlan activityPlan) {
+ public TaskDescriptor(TaskId taskId, ActivityPlan activityPlan) {
this.taskId = taskId;
this.activityPlan = activityPlan;
- this.dependencies = new HashSet<TaskId>();
- this.dependents = new HashSet<TaskId>();
+ this.dependencies = new HashSet<>();
+ this.dependents = new HashSet<>();
}
public TaskId getTaskId() {
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java
index 3babf00..64db8a6 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java
@@ -30,7 +30,7 @@
import org.apache.hyracks.control.cc.job.ActivityPlan;
import org.apache.hyracks.control.cc.job.IJobManager;
import org.apache.hyracks.control.cc.job.JobRun;
-import org.apache.hyracks.control.cc.job.Task;
+import org.apache.hyracks.control.cc.job.TaskDescriptor;
import org.apache.hyracks.control.cc.job.TaskAttempt;
import org.apache.hyracks.control.cc.job.TaskCluster;
import org.apache.hyracks.control.cc.job.TaskClusterAttempt;
@@ -60,9 +60,9 @@
if (ac != null) {
Map<ActivityId, ActivityPlan> taskStateMap =
run.getActivityClusterPlanMap().get(ac.getId())
.getActivityPlanMap();
- Task[] taskStates =
taskStateMap.get(tid.getActivityId()).getTasks();
+ TaskDescriptor[] taskStates =
taskStateMap.get(tid.getActivityId()).getTasks();
if (taskStates != null && taskStates.length >
tid.getPartition()) {
- Task ts = taskStates[tid.getPartition()];
+ TaskDescriptor ts = taskStates[tid.getPartition()];
TaskCluster tc = ts.getTaskCluster();
List<TaskClusterAttempt> taskClusterAttempts =
tc.getAttempts();
if (taskClusterAttempts != null &&
taskClusterAttempts.size() > taId.getAttempt()) {
--
To view, visit https://asterix-gerrit.ics.uci.edu/1816
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id686ed849e5546dd8d51db8bf09aed27ae9c32fc
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Yingyi Bu <[email protected]>