diff --git a/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorComparator.java b/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorComparator.java
index c1346e6..c6d096e 100644
--- a/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorComparator.java
+++ b/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorComparator.java
@@ -156,8 +156,8 @@ public class ExecutorComparator extends CandidateComparator<Executor> {
@Override
public int compare(Executor o1, Executor o2) {
- ExecutorInfo stat1 = o1.getExecutorStats();
- ExecutorInfo stat2 = o2.getExecutorStats();
+ ExecutorInfo stat1 = o1.getExecutorInfo();
+ ExecutorInfo stat2 = o2.getExecutorInfo();
Integer result = 0;
if (statisticsObjectCheck(stat1,stat2,NUMOFASSIGNEDFLOW_COMPARATOR_NAME,result)){
@@ -177,8 +177,8 @@ public class ExecutorComparator extends CandidateComparator<Executor> {
@Override
public int compare(Executor o1, Executor o2) {
- ExecutorInfo stat1 = o1.getExecutorStats();
- ExecutorInfo stat2 = o2.getExecutorStats();
+ ExecutorInfo stat1 = o1.getExecutorInfo();
+ ExecutorInfo stat2 = o2.getExecutorInfo();
int result = 0;
if (statisticsObjectCheck(stat1,stat2,CPUUSAGE_COMPARATOR_NAME,result)){
@@ -201,8 +201,8 @@ public class ExecutorComparator extends CandidateComparator<Executor> {
@Override
public int compare(Executor o1, Executor o2) {
- ExecutorInfo stat1 = o1.getExecutorStats();
- ExecutorInfo stat2 = o2.getExecutorStats();
+ ExecutorInfo stat1 = o1.getExecutorInfo();
+ ExecutorInfo stat2 = o2.getExecutorInfo();
int result = 0;
if (statisticsObjectCheck(stat1,stat2,LSTDISPATCHED_COMPARATOR_NAME,result)){
@@ -228,8 +228,8 @@ public class ExecutorComparator extends CandidateComparator<Executor> {
@Override
public int compare(Executor o1, Executor o2) {
- ExecutorInfo stat1 = o1.getExecutorStats();
- ExecutorInfo stat2 = o2.getExecutorStats();
+ ExecutorInfo stat1 = o1.getExecutorInfo();
+ ExecutorInfo stat2 = o2.getExecutorInfo();
int result = 0;
if (statisticsObjectCheck(stat1,stat2,MEMORY_COMPARATOR_NAME,result)){
diff --git a/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorFilter.java b/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorFilter.java
index 5a3d33e..93b4a91 100644
--- a/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorFilter.java
+++ b/azkaban-common/src/main/java/azkaban/executor/selector/ExecutorFilter.java
@@ -101,7 +101,7 @@ public final class ExecutorFilter extends CandidateFilter<Executor, ExecutableFl
return false;
}
- ExecutorInfo stats = filteringTarget.getExecutorStats();
+ ExecutorInfo stats = filteringTarget.getExecutorInfo();
if (null == stats) {
logger.info(String.format("%s : filtering out %s as it's stats is unavailable.",
STATICREMAININGFLOWSIZE_FILTER_NAME,
@@ -128,7 +128,7 @@ public final class ExecutorFilter extends CandidateFilter<Executor, ExecutableFl
return false;
}
- ExecutorInfo stats = filteringTarget.getExecutorStats();
+ ExecutorInfo stats = filteringTarget.getExecutorInfo();
if (null == stats) {
logger.info(String.format("%s : filtering out %s as it's stats is unavailable.",
MINIMUMFREEMEMORY_FILTER_NAME,
@@ -157,7 +157,7 @@ public final class ExecutorFilter extends CandidateFilter<Executor, ExecutableFl
return false;
}
- ExecutorInfo stats = filteringTarget.getExecutorStats();
+ ExecutorInfo stats = filteringTarget.getExecutorInfo();
if (null == stats) {
logger.info(String.format("%s : filtering out %s as it's stats is unavailable.",
MINIMUMFREEMEMORY_FILTER_NAME,
diff --git a/azkaban-common/src/test/java/azkaban/executor/SelectorTest.java b/azkaban-common/src/test/java/azkaban/executor/SelectorTest.java
index fd8768b..e54b182 100644
--- a/azkaban-common/src/test/java/azkaban/executor/SelectorTest.java
+++ b/azkaban-common/src/test/java/azkaban/executor/SelectorTest.java
@@ -32,6 +32,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import azkaban.executor.selector.*;
+import azkaban.utils.JSONUtils;
public class SelectorTest {
// mock executor object.
@@ -685,9 +686,9 @@ public class SelectorTest {
executorList.add(new Executor(2, "host2", 80, true));
executorList.add(new Executor(3, "host3", 80, true));
- executorList.get(0).setExecutorStats(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 89, 0));
- executorList.get(1).setExecutorStats(new ExecutorInfo(50, 14095, 50, System.currentTimeMillis(), 90, 0));
- executorList.get(2).setExecutorStats(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 90, 0));
+ executorList.get(0).setExecutorInfo(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 89, 0));
+ executorList.get(1).setExecutorInfo(new ExecutorInfo(50, 14095, 50, System.currentTimeMillis(), 90, 0));
+ executorList.get(2).setExecutorInfo(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 90, 0));
ExecutableFlow flow = new ExecutableFlow();
@@ -706,9 +707,9 @@ public class SelectorTest {
executorList.add(new Executor(2, "host2", 80, true));
executorList.add(new Executor(3, "host3", 80, true));
- executorList.get(0).setExecutorStats(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 89, 0));
- executorList.get(1).setExecutorStats(new ExecutorInfo(50, 14095, 50, System.currentTimeMillis(), 90, 0));
- executorList.get(2).setExecutorStats(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 90, 0));
+ executorList.get(0).setExecutorInfo(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 89, 0));
+ executorList.get(1).setExecutorInfo(new ExecutorInfo(50, 14095, 50, System.currentTimeMillis(), 90, 0));
+ executorList.get(2).setExecutorInfo(new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 90, 0));
ExecutableFlow flow = new ExecutableFlow();
@@ -721,9 +722,17 @@ public class SelectorTest {
// simulate that once the flow is assigned, executor1's remaining TMP storage dropped to 2048
// now we do the getBest again executor3 is expected to be selected as it has a earlier last dispatched time.
- executorList.get(0).setExecutorStats(new ExecutorInfo(99.9, 4095, 50, System.currentTimeMillis(), 90, 1));
+ executorList.get(0).setExecutorInfo(new ExecutorInfo(99.9, 4095, 50, System.currentTimeMillis(), 90, 1));
executor = selector.getBest(executorList, flow);
Assert.assertEquals(executorList.get(2), executor);
}
+ @Test
+ public void testExecutorInfoJsonParser() throws Exception{
+ ExecutorInfo exeInfo = new ExecutorInfo(99.9, 14095, 50, System.currentTimeMillis(), 89, 10);
+ String json = JSONUtils.toJSON(exeInfo);
+ ExecutorInfo exeInfo2 = ExecutorInfo.fromJSONString(json);
+ Assert.assertTrue(exeInfo.equals(exeInfo2));
+ }
+
}