azkaban-developers

Details

diff --git a/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateComparator.java b/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateComparator.java
index 8ff86eb..9239bf5 100644
--- a/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateComparator.java
+++ b/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateComparator.java
@@ -18,7 +18,6 @@ package azkaban.executor.dispatcher;
 
 import java.util.Collection;
 import java.util.Comparator;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -43,25 +42,22 @@ public abstract class CandidateComparator<T> implements Comparator<T> {
    * */
   public abstract String getName();
 
-  /** differentiate method which will kick in when the comparator list generated an equality result for
-   *  both sides. the differentiate method will try best to make sure a stable result is returned.
+  /** tieBreak method which will kick in when the comparator list generated an equality result for
+   *  both sides. the tieBreak method will try best to make sure a stable result is returned.
    * */
-  protected boolean differentiate(T object1, T object2){
-    if (object2 == null) return true;
-    if (object1 == null) return false;
-
+  protected boolean tieBreak(T object1, T object2){
     return object1.hashCode() >= object2.hashCode();
   }
 
   /** function to register a factorComparator to the internal Map for future reference.
    * @param factorComparator : the comparator object to be registered.
+   * @throws IllegalArgumentException
    * */
   protected void registerFactorComparator(FactorComparator<T> comparator){
       if (null == comparator ||
           Integer.MAX_VALUE - this.getTotalWeight() < comparator.getWeight() ) {
-        logger.info(
-            "skipping registerFactorComparator as the comaractor is null or has an invalid weight value.");
-        return;
+        throw new IllegalArgumentException("unable to register comparator."+
+          " The passed comparator is null or has an invalid weight value.");
       }
 
       // add or replace the Comparator.
@@ -73,28 +69,25 @@ public abstract class CandidateComparator<T> implements Comparator<T> {
   /** function update the weight of a specific registered factorCompartor.
    * @param factorName : the name of the registered factorComparator to adjust.
    * @param weight:      the new weight value to be adjusted to.
-   * @return -1 if the factor doesn't exist or the weight value specified is invalid,
-   *          the original value before update otherwise.
+   * @return  the original value before update.
+   * @throws IllegalArgumentException
    * */
   public int adjustFactorWeight(String factorName, int weight){
     // shortcut if the input is invalid.
     if (factorName == null ||
-        factorName == "" ||
+        factorName.length() == 0||
         weight < 0 ||
         Integer.MAX_VALUE - this.getTotalWeight() < weight){
-      logger.info(
-          "skipping adjustFactorWeight as one or more of the input parameters are invalid");
-      return -1;
+      throw new IllegalArgumentException("unable to adjust factor weight as one or more of the input parameters are invalid");
     }
 
     FactorComparator<T> value = this.factorComparatorList.get(factorName);
 
     // shortcut if the key doesn't exist.
     if (null == value){
-      logger.info(String.format(
+      throw new IllegalArgumentException(String.format(
           "unable to udpate weight as the specified factorName %s doesn't exist",
           factorName));
-      return -1;
     }
 
     int returnVal = value.getWeight();
@@ -129,13 +122,16 @@ public abstract class CandidateComparator<T> implements Comparator<T> {
    *  4. final result will be returned in a Pair container.
    *
    * */
-  public Pair<Integer,Integer> getReult(T object1, T object2){
+  public Pair<Integer,Integer> getComparisonScore(T object1, T object2){
     logger.info(String.format("start comparing '%s' with '%s',  total weight = %s ",
         object1 == null ? "(null)" : object1.toString(),
         object2 == null ? "(null)" : object2.toString(),
         this.getTotalWeight()));
 
     // short cut if object equals.
+    // Note if:  objects are reference equals, there is no need to call
+    //           TieBreaker as returning either side actually doesn't matter,
+    //           because they are the same.
     if (object1 ==  object2){
       logger.info("Result : 0 vs 0 (equal)");
       return new Pair<Integer,Integer>(0,0);
@@ -157,9 +153,7 @@ public abstract class CandidateComparator<T> implements Comparator<T> {
     int result1 = 0 ;
     int result2 = 0 ;
     Collection<FactorComparator<T>> comparatorList = this.factorComparatorList.values();
-    Iterator<FactorComparator<T>> mapItr = comparatorList.iterator();
-    while (mapItr.hasNext()){
-      FactorComparator<T> comparator = (FactorComparator<T>) mapItr.next();
+    for (FactorComparator<T> comparator :comparatorList){
       int result = comparator.compare(object1, object2);
       result1  = result1 + (result > 0 ? comparator.getWeight() : 0);
       result2  = result2 + (result < 0 ? comparator.getWeight() : 0);
@@ -167,10 +161,10 @@ public abstract class CandidateComparator<T> implements Comparator<T> {
           comparator.getFactorName(), result, result1, result2));
     }
 
-    // in case of same score, user differentiator to stabilize the result.
+    // in case of same score, use tie-breaker to stabilize the result.
     if (result1 == result2){
-      boolean result = this.differentiate(object1, object2);
-      logger.info("[Differentiator] differentiator chose " + (result?  object1.toString(): object2.toString()));
+      boolean result = this.tieBreak(object1, object2);
+      logger.info("[TieBreaker] TieBreaker chose " + (result?  object1.toString(): object2.toString()));
       if (result) result1++; else result2++;
     }
 
@@ -180,7 +174,7 @@ public abstract class CandidateComparator<T> implements Comparator<T> {
 
   @Override
   public int compare(T o1, T o2) {
-    Pair<Integer,Integer> result = this.getReult(o1,o2);
+    Pair<Integer,Integer> result = this.getComparisonScore(o1,o2);
     return result.getFirst() == result.getSecond() ? 0 :
                                 result.getFirst() > result.getSecond() ? 1 : -1;
   }
diff --git a/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateFilter.java b/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateFilter.java
index dac8fcd..2823582 100644
--- a/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateFilter.java
+++ b/azkaban-common/src/main/java/azkaban/executor/dispatcher/CandidateFilter.java
@@ -27,7 +27,6 @@ import org.apache.log4j.Logger;
 /** Abstract class for a candidate filter.
  *  this class contains implementation of most of the core logics. Implementing classes is expected only to
  *  register filters using the provided register function.
- *
  */
 public abstract class CandidateFilter<T,V>  {
   private static Logger logger = Logger.getLogger(CandidateFilter.class);
@@ -43,11 +42,12 @@ public abstract class CandidateFilter<T,V>  {
 
   /** function to register a factorFilter to the internal Map for future reference.
    * @param factorfilter : the Filter object to be registered.
+   * @throws IllegalArgumentException
    * */
   protected void registerFactorFilter(FactorFilter<T,V> filter){
       if (null == filter ) {
-        logger.info("skipping registerFactorFilter as the comaractor is null or has an invalid weight value.");
-        return;
+        throw new IllegalArgumentException("unable to register factor filter. " +
+                  "The passed comaractor is null or has an invalid weight value.");
       }
 
       // add or replace the filter.
@@ -56,11 +56,15 @@ public abstract class CandidateFilter<T,V>  {
           filter.getFactorName()));
   }
 
-  /** function to get the filtering result.
+  /** function to analyze the target item according to the reference object to decide whether the item should be filtered.
+   * @param filteringTarget:   object to be checked.
+   * @param referencingObject: object which contains statistics based on which a decision is made whether
+   *                      the object being checked need to be filtered or not.
+   * @return true if the check passed, false if check failed, which means the item need to be filtered.
    * */
-  public boolean check(T item, V object){
+  public boolean analyzeTarget(T filteringTarget, V referencingObject){
     logger.info(String.format("start checking '%s' with factor filter for '%s'",
-        item == null ? "(null)" : item.toString(),
+        filteringTarget == null ? "(null)" : filteringTarget.toString(),
         this.getName()));
 
     Collection<FactorFilter<T,V>> filterList = this.factorFilterList.values();
@@ -68,7 +72,7 @@ public abstract class CandidateFilter<T,V>  {
     boolean result = true;
     while (mapItr.hasNext()){
       FactorFilter<T,V> filter = (FactorFilter<T,V>) mapItr.next();
-      result &= filter.check(item,object);
+      result &= filter.check(filteringTarget,referencingObject);
       logger.info(String.format("[Factor: %s] filter result : %s ",
           filter.getFactorName(), result));
       if (!result){
diff --git a/azkaban-common/src/main/java/azkaban/executor/dispatcher/ExecutorDispatcher.java b/azkaban-common/src/main/java/azkaban/executor/dispatcher/ExecutorDispatcher.java
index 9ed3be0..1045fc8 100644
--- a/azkaban-common/src/main/java/azkaban/executor/dispatcher/ExecutorDispatcher.java
+++ b/azkaban-common/src/main/java/azkaban/executor/dispatcher/ExecutorDispatcher.java
@@ -83,7 +83,7 @@ public class ExecutorDispatcher<K,V> implements Dispatcher<K, V> {
 
      if (null != this.filter){
        for (K candidateInfo : candidateList){
-         if (filter.check(candidateInfo,dispatchingObject)){
+         if (filter.analyzeTarget(candidateInfo,dispatchingObject)){
            filteredList.add(candidateInfo);
          }
        }
diff --git a/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorComparator.java b/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorComparator.java
index cb99f9d..37229ca 100644
--- a/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorComparator.java
+++ b/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorComparator.java
@@ -46,7 +46,7 @@ public final class FactorComparator<T>{
    * */
   public static <T> FactorComparator<T> create(String factorName, int weight, Comparator<T> comparator){
 
-    if (null == factorName || factorName == "" || weight < 0 || null == comparator){
+    if (null == factorName || factorName.length() == 0 || weight < 0 || null == comparator){
       logger.error("failed to create instance of FactorComparator, at least one of the input paramters are invalid");
       return null;
     }
diff --git a/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorFilter.java b/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorFilter.java
index 6d57413..f944c25 100644
--- a/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorFilter.java
+++ b/azkaban-common/src/main/java/azkaban/executor/dispatcher/FactorFilter.java
@@ -43,7 +43,7 @@ public final class FactorFilter<T,V>{
    * */
   public static <T,V> FactorFilter<T,V> create(String factorName, Filter<T,V> filter){
 
-    if (null == factorName || factorName == "" || null == filter){
+    if (null == factorName || factorName.length() == 0 || null == filter){
       logger.error("failed to create instance of FactorFilter, at least one of the input paramters are invalid");
       return null;
     }
@@ -58,19 +58,19 @@ public final class FactorFilter<T,V>{
 
   // the actual check function, which will leverage the logic defined by user.
   public boolean check(T itemToCheck, V sourceObject){
-    return this.filter.check(itemToCheck, sourceObject);
+    return this.filter.analyzeTarget(itemToCheck, sourceObject);
   }
 
   // interface of the filter.
   public interface Filter<K,V>{
 
-    /**check function for the filter.
-     * @param itemToCheck:  object to be checked.
-     * @param sourceObject: object which contains statistics based on which a decision is made whether
+    /**function to analyze the target item according to the reference object to decide whether the item should be filtered.
+     * @param filteringTarget:   object to be checked.
+     * @param referencingObject: object which contains statistics based on which a decision is made whether
      *                      the object being checked need to be filtered or not.
      * @return true if the check passed, false if check failed, which means the item need to be filtered.
      * */
-    public boolean check(K itemToCheck, V sourceObject);
+    public boolean analyzeTarget(K filteringTarget, V referencingObject);
   }
 
 
diff --git a/azkaban-common/src/main/java/azkaban/executor/ExecutorApiClient.java b/azkaban-common/src/main/java/azkaban/executor/ExecutorApiClient.java
index bf74b95..4d77897 100644
--- a/azkaban-common/src/main/java/azkaban/executor/ExecutorApiClient.java
+++ b/azkaban-common/src/main/java/azkaban/executor/ExecutorApiClient.java
@@ -17,7 +17,7 @@
 package azkaban.executor;
 
 import java.io.IOException;
-import java.net.URI;
+import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.http.HttpEntity;
@@ -27,47 +27,38 @@ import org.apache.http.client.HttpResponseException;
 import org.apache.http.util.EntityUtils;
 
 import azkaban.utils.JSONUtils;
-import azkaban.utils.Pair;
 import azkaban.utils.RestfulApiClient;
 
 /** Client class that will be used to handle all Restful API calls between Executor and the host application.
  * */
 public class ExecutorApiClient extends RestfulApiClient<Map<String, Object>> {
-
-  // hide the constructor. we what this class to be in singleton.
   private ExecutorApiClient(){}
+  private static ExecutorApiClient instance = new ExecutorApiClient();
 
-  // international cache for the object instance.
-  private static ExecutorApiClient instance = null;
-
-  /**Singleton creator of the class.
+  /** Function to return the instance of the ExecutorApiClient class.
    * */
   public static ExecutorApiClient getInstance() {
-    if (null == instance) {
-      synchronized (ExecutorApiClient.class) {
-        if (null == instance) {
-          instance = new ExecutorApiClient();
-        }
-      }
-    }
     return instance;
   }
 
   /**Implementing the parseResponse function to return de-serialized Json object.
    * @param response  the returned response from the HttpClient.
+   * @return de-serialized object from Json or empty object if the response doesn't have a body.
    * */
   @SuppressWarnings("unchecked")
   @Override
   protected Map<String, Object> parseResponse(HttpResponse response)
       throws HttpResponseException, IOException {
     final StatusLine statusLine = response.getStatusLine();
+    String responseBody = response.getEntity() != null ?
+        EntityUtils.toString(response.getEntity()) : "";
+
     if (statusLine.getStatusCode() >= 300) {
 
         logger.error(String.format("unable to parse response as the response status is %s",
             statusLine.getStatusCode()));
 
-        throw new HttpResponseException(statusLine.getStatusCode(),
-                statusLine.getReasonPhrase());
+        throw new HttpResponseException(statusLine.getStatusCode(),responseBody);
     }
 
     final HttpEntity entity = response.getEntity();
@@ -77,25 +68,7 @@ public class ExecutorApiClient extends RestfulApiClient<Map<String, Object>> {
         return (Map<String, Object>) returnVal;
       }
     }
-    return null;
-  }
-
-  /**function to get executor status .
-   * @param executorHost    Host name of the executor.
-   * @param executorPort    Host port.
-   * @param action          query action.
-   * @param param           extra query parameters
-   * @return  the de-serialized JSON object in Map<String, Object> format.
-   * */
-  @SuppressWarnings("unchecked")
-  public Map<String, Object> callExecutorStats(String executorHost, int executorPort,
-      String action, Pair<String, String>... params) throws IOException {
-
-    // form up the URI.
-    URI uri = ExecutorApiClient.BuildUri(executorHost, executorPort, "/stats", true,params);
-    uri =  ExecutorApiClient.BuildUri(uri, new Pair<String, String>(ConnectorParams.ACTION_PARAM, action));
-    return this.httpGet(uri, null);
-    }
 
-  // TO-DO  reflector other API call functions out from the ExecutorManager.
+    return new HashMap<String, Object>() ;
+  }
 }
diff --git a/azkaban-common/src/main/java/azkaban/utils/RestfulApiClient.java b/azkaban-common/src/main/java/azkaban/utils/RestfulApiClient.java
index 0b39a7d..ef0ef46 100644
--- a/azkaban-common/src/main/java/azkaban/utils/RestfulApiClient.java
+++ b/azkaban-common/src/main/java/azkaban/utils/RestfulApiClient.java
@@ -153,7 +153,7 @@ public abstract class RestfulApiClient<T> {
    *  @return the URI built from the inputs.
    *  @throws IOException
    * */
-  public static URI BuildUri(String host, int port, String path,
+  public static URI buildUri(String host, int port, String path,
       boolean isHttp, Pair<String, String>... params) throws IOException{
     URIBuilder builder = new URIBuilder();
     builder.setScheme(isHttp? "http" : "https").setHost(host).setPort(port);
diff --git a/azkaban-common/src/test/java/azkaban/executor/DispatcherTest.java b/azkaban-common/src/test/java/azkaban/executor/DispatcherTest.java
index a5a5cf8..dc1af73 100644
--- a/azkaban-common/src/test/java/azkaban/executor/DispatcherTest.java
+++ b/azkaban-common/src/test/java/azkaban/executor/DispatcherTest.java
@@ -112,7 +112,7 @@ public class DispatcherTest {
     public void registerFilterforTotalMemory(){
       this.registerFactorFilter(FactorFilter.create("requiredTotalMemory",
           new FactorFilter.Filter<MockExecutorObject,MockFlowObject>() {
-          public boolean check(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
+          public boolean analyzeTarget(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
             // REAL LOGIC COMES HERE -
             if (null == itemToCheck || null == sourceObject){
               return false;
@@ -131,7 +131,7 @@ public class DispatcherTest {
     public void registerFilterforRemainingMemory(){
       this.registerFactorFilter(FactorFilter.create("requiredRemainingMemory",
           new FactorFilter.Filter<MockExecutorObject,MockFlowObject>() {
-        public boolean check(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
+        public boolean analyzeTarget(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
           // REAL LOGIC COMES HERE -
           if (null == itemToCheck || null == sourceObject){
             return false;
@@ -143,7 +143,7 @@ public class DispatcherTest {
     public void registerFilterforPriority(){
       this.registerFactorFilter(FactorFilter.create("requiredProprity",
           new FactorFilter.Filter<MockExecutorObject,MockFlowObject>() {
-        public boolean check(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
+        public boolean analyzeTarget(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
           // REAL LOGIC COMES HERE -
           if (null == itemToCheck || null == sourceObject){
             return false;
@@ -157,7 +157,7 @@ public class DispatcherTest {
     public void registerFilterforRemainingTmpSpace(){
       this.registerFactorFilter(FactorFilter.create("requiredRemainingTmpSpace",
           new FactorFilter.Filter<MockExecutorObject,MockFlowObject>() {
-        public boolean check(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
+        public boolean analyzeTarget(MockExecutorObject itemToCheck, MockFlowObject sourceObject) {
           // REAL LOGIC COMES HERE -
           if (null == itemToCheck || null == sourceObject){
             return false;
@@ -179,9 +179,7 @@ public class DispatcherTest {
     }
 
     @Override
-    protected boolean differentiate(MockExecutorObject object1, MockExecutorObject object2){
-      if (object2 == null) return true;
-      if (object1 == null) return false;
+    protected boolean tieBreak(MockExecutorObject object1, MockExecutorObject object2){
       return object1.name.compareTo(object2.name) >= 0;
     }
 
@@ -282,16 +280,11 @@ public class DispatcherTest {
       mFilter.registerFilterforRemainingMemory();
 
       // expect true.
-      boolean result = mFilter.check(this.getExecutorByName("Executor1"), dispatchingObj);
-      /*
-       1 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor1' with factor filter for 'Mockfilter'
-       1 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-       1 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : true
-       * */
+      boolean result = mFilter.analyzeTarget(this.getExecutorByName("Executor1"), dispatchingObj);
       Assert.assertTrue(result);
 
       //expect true.
-      result = mFilter.check(this.getExecutorByName("Executor3"), dispatchingObj);
+      result = mFilter.analyzeTarget(this.getExecutorByName("Executor3"), dispatchingObj);
       /*
       1 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor3' with factor filter for 'Mockfilter'
       2 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
@@ -301,7 +294,7 @@ public class DispatcherTest {
 
       // add the priority filter.
       mFilter.registerFilterforPriority();
-      result = mFilter.check(this.getExecutorByName("Executor3"), dispatchingObj);
+      result = mFilter.analyzeTarget(this.getExecutorByName("Executor3"), dispatchingObj);
       // expect false, for priority.
       /*
       2 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor3' with factor filter for 'Mockfilter'
@@ -315,7 +308,7 @@ public class DispatcherTest {
       mFilter.registerFilterforRemainingTmpSpace();
 
       // expect pass.
-      result = mFilter.check(this.getExecutorByName("Executor2"), dispatchingObj);
+      result = mFilter.analyzeTarget(this.getExecutorByName("Executor2"), dispatchingObj);
       /*
       3 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor2' with factor filter for 'Mockfilter'
       3 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
@@ -326,7 +319,7 @@ public class DispatcherTest {
       Assert.assertTrue(result);
 
       // expect false, remaining tmp, priority will also fail but the logic shortcuts when the Tmp size check Fails.
-      result = mFilter.check(this.getExecutorByName("Executor8"), dispatchingObj);
+      result = mFilter.analyzeTarget(this.getExecutorByName("Executor8"), dispatchingObj);
       /*
       4 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor8' with factor filter for 'Mockfilter'
       4 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
@@ -351,150 +344,12 @@ public class DispatcherTest {
     // expect again the #9 item to be selected.
     comparator.registerComparerForPriority(6);
     nextExecutor = Collections.max(this.executorList, comparator);
-    /*
-      2 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor8' with 'Executor2',  total weight = 5 
-      2 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-      2 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Differentiator] differentiator chose Executor8
-      3 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 1 vs 0 
-      3 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor3' with 'Executor8',  total weight = 5 
-      4 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      4 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      4 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor9' with 'Executor8',  total weight = 5 
-      5 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 1 (current score 5 vs 0)
-      5 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 5 vs 0 
-      5 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor11' with 'Executor9',  total weight = 5 
-      6 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 1 (current score 5 vs 0)
-      6 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 5 vs 0 
-      6 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor12' with 'Executor11',  total weight = 5 
-      6 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      7 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      7 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor10' with 'Executor11',  total weight = 5 
-      7 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      8 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      8 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor1' with 'Executor11',  total weight = 5 
-      8 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      9 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      9 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor7' with 'Executor11',  total weight = 5 
-      9 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      9 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      10 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor6' with 'Executor11',  total weight = 5 
-      10 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      10 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      11 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor5' with 'Executor11',  total weight = 5 
-      11 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      11 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      12 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor4' with 'Executor11',  total weight = 5 
-      12 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      12 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      14 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Factor comparator added for 'Priority'. Weight = '6'
-      14 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor8' with 'Executor2',  total weight = 11 
-      14 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-      14 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 6)
-      14 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 6 
-      15 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor3' with 'Executor2',  total weight = 11 
-      15 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      15 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 11)
-      15 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 11 
-      15 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor9' with 'Executor2',  total weight = 11 
-      15 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 1 (current score 5 vs 0)
-      16 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 1 (current score 11 vs 0)
-      16 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 11 vs 0 
-      16 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor11' with 'Executor9',  total weight = 11 
-      16 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 1 (current score 5 vs 0)
-      16 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 5 vs 6)
-      16 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 5 vs 6 
-      16 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor12' with 'Executor9',  total weight = 11 
-      17 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 1 (current score 5 vs 0)
-      17 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 5 vs 0)
-      17 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 5 vs 0 
-      17 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor10' with 'Executor12',  total weight = 11 
-      17 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      17 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 11)
-      18 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 11 
-      18 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor1' with 'Executor12',  total weight = 11 
-      18 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      18 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 5)
-      18 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      18 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor7' with 'Executor12',  total weight = 11 
-      19 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      19 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 5)
-      19 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      19 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor6' with 'Executor12',  total weight = 11 
-      19 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      19 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 5)
-      19 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      20 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor5' with 'Executor12',  total weight = 11 
-      20 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      20 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 5)
-      20 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5 
-      20 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor4' with 'Executor12',  total weight = 11 
-      20 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      21 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 11)
-      21 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 11 
-     * */
     Assert.assertEquals(this.getExecutorByName("Executor12"),nextExecutor);
 
     // add the remaining space factor.
     // expect the #12 item to be returned.
     comparator.registerComparerForRemainingSpace(3);
     nextExecutor = Collections.max(this.executorList, comparator);
-    /*
-      21 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor2' with 'Executor1',  total weight = 14
-      22 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-      22 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 6)
-      22 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : 0 (current score 0 vs 6)
-      22 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 6
-      22 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor3' with 'Executor1',  total weight = 14
-      23 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      23 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 11)
-      23 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : 0 (current score 0 vs 11)
-      23 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 11
-      24 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor4' with 'Executor1',  total weight = 14
-      24 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-      24 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 6)
-      25 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : 0 (current score 0 vs 6)
-      25 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 6
-      25 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor5' with 'Executor1',  total weight = 14
-      25 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      25 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 5)
-      26 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : 0 (current score 0 vs 5)
-      26 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5
-      26 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor6' with 'Executor1',  total weight = 14
-      26 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      27 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 5)
-      27 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : -1 (current score 0 vs 8)
-      27 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 8
-      27 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor7' with 'Executor1',  total weight = 14
-      27 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      28 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 5)
-      28 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : -1 (current score 0 vs 8)
-      28 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 8
-      28 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor8' with 'Executor1',  total weight = 14
-      29 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-      29 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 6)
-      29 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : -1 (current score 0 vs 9)
-      29 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 9
-      30 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor9' with 'Executor1',  total weight = 14
-      30 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 1 (current score 5 vs 0)
-      30 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 5 vs 0)
-      30 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : -1 (current score 5 vs 3)
-      30 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 5 vs 3
-      31 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor10' with 'Executor9',  total weight = 14
-      31 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : -1 (current score 0 vs 5)
-      31 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 11)
-      32 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : -1 (current score 0 vs 14)
-      32 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 14
-      32 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor11' with 'Executor9',  total weight = 14
-      32 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 1 (current score 5 vs 0)
-      32 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 5 vs 6)
-      33 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : -1 (current score 5 vs 9)
-      33 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 5 vs 9
-      33 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor12' with 'Executor9',  total weight = 14
-      33 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-      34 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 0 (current score 0 vs 0)
-      34 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : 1 (current score 3 vs 0)
-      34 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 3 vs 0
-     * */
     Assert.assertEquals(this.getExecutorByName("Executor12"),nextExecutor);
   }
 
@@ -520,77 +375,6 @@ public class DispatcherTest {
 
     // expected selection = #12
     MockExecutorObject nextExecutor = morkDispatcher.getNext(this.executorList, dispatchingObj);
-    /*
-     *  4743 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start candidate selection logic.
-        4744 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - candidate count before filtering: 12
-        4745 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor2' with factor filter for 'Mockfilter'
-        4746 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4747 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : true
-        4747 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingTmpSpace] filter result : true
-        4748 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredProprity] filter result : true
-        4749 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : true
-        4749 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor12' with factor filter for 'Mockfilter'
-        4750 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4751 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : false
-        4751 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4752 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor11' with factor filter for 'Mockfilter'
-        4752 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4753 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : true
-        4753 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingTmpSpace] filter result : false
-        4753 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4754 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor7' with factor filter for 'Mockfilter'
-        4754 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : false
-        4754 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4755 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor5' with factor filter for 'Mockfilter'
-        4755 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : false
-        4755 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4756 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor9' with factor filter for 'Mockfilter'
-        4756 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4756 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : true
-        4757 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingTmpSpace] filter result : false
-        4757 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4757 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor8' with factor filter for 'Mockfilter'
-        4757 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4758 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : true
-        4758 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingTmpSpace] filter result : false
-        4758 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4759 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor1' with factor filter for 'Mockfilter'
-        4759 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4759 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : true
-        4760 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingTmpSpace] filter result : true
-        4760 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredProprity] filter result : true
-        4760 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : true
-        4761 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor4' with factor filter for 'Mockfilter'
-        4761 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4761 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : true
-        4762 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingTmpSpace] filter result : true
-        4762 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredProprity] filter result : true
-        4762 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : true
-        4763 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor6' with factor filter for 'Mockfilter'
-        4763 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : false
-        4763 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4764 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor3' with factor filter for 'Mockfilter'
-        4764 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : true
-        4764 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredTotalMemory] filter result : true
-        4765 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingTmpSpace] filter result : true
-        4765 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredProprity] filter result : false
-        4765 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4765 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - start checking 'Executor10' with factor filter for 'Mockfilter'
-        4766 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - [Factor: requiredRemainingMemory] filter result : false
-        4766 [main] INFO azkaban.executor.dispatcher.CandidateFilter  - Final checking result : false
-        4766 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - candidate count after filtering: 3
-        4767 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor1' with 'Executor2',  total weight = 11
-        4767 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-        4768 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : 1 (current score 5 vs 0)
-        4768 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : 0 (current score 5 vs 0)
-        4769 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 5 vs 0
-        4770 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - start comparing 'Executor4' with 'Executor1',  total weight = 11
-        4771 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Memory] compare result : 0 (current score 0 vs 0)
-        4771 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: Priority] compare result : -1 (current score 0 vs 5)
-        4772 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - [Factor: RemainingTmp] compare result : 0 (current score 0 vs 5)
-        4772 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - Result : 0 vs 5
-        4772 [main] INFO azkaban.executor.dispatcher.CandidateComparator  - candidate selected Executor1
-     */
     Assert.assertEquals(this.getExecutorByName("Executor1"),nextExecutor);
 
    // remaining memory 11500, total memory 3095, remainingTmpSpace 14200, priority 2.
diff --git a/azkaban-common/src/test/java/azkaban/utils/RestfulApiClientTest.java b/azkaban-common/src/test/java/azkaban/utils/RestfulApiClientTest.java
index 4a36132..85b2666 100644
--- a/azkaban-common/src/test/java/azkaban/utils/RestfulApiClientTest.java
+++ b/azkaban-common/src/test/java/azkaban/utils/RestfulApiClientTest.java
@@ -103,7 +103,7 @@ public class RestfulApiClientTest {
   public void testHttpGet() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     String result = mockClient.httpGet(uri, null);
@@ -115,7 +115,7 @@ public class RestfulApiClientTest {
   public void testHttpGetWithHeaderItems() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     ArrayList<NameValuePair> headerItems = new ArrayList<NameValuePair>();
@@ -133,7 +133,7 @@ public class RestfulApiClientTest {
   public void testHttpPost() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     ArrayList<NameValuePair> headerItems = new ArrayList<NameValuePair>();
@@ -154,7 +154,7 @@ public class RestfulApiClientTest {
   public void testHttpPostWOBody() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     String result = mockClient.httpPost(uri, null,null);
@@ -168,7 +168,7 @@ public class RestfulApiClientTest {
   public void testHttpPut() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     ArrayList<NameValuePair> headerItems = new ArrayList<NameValuePair>();
@@ -189,7 +189,7 @@ public class RestfulApiClientTest {
   public void testContentLength() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     String content = "123456789";
@@ -203,7 +203,7 @@ public class RestfulApiClientTest {
   public void testContentLengthOverride() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     ArrayList<NameValuePair> headerItems = new ArrayList<NameValuePair>();
@@ -221,7 +221,7 @@ public class RestfulApiClientTest {
   public void testHttpDelete() throws Exception {
     MockRestfulApiClient mockClient = new MockRestfulApiClient();
     @SuppressWarnings("unchecked")
-    URI uri = MockRestfulApiClient.BuildUri("test.com", 80, "test", true,
+    URI uri = MockRestfulApiClient.buildUri("test.com", 80, "test", true,
         new Pair <String,String>("Entry1","Value1"));
 
     ArrayList<NameValuePair> headerItems = new ArrayList<NameValuePair>();