falcon-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ajayyad...@apache.org
Subject [1/3] falcon git commit: FALCON-1641 Triage on an invalid feed instance throws IndexOutOfBoundException. Contributed by Karishma Gulati.
Date Tue, 15 Dec 2015 12:24:04 GMT
Repository: falcon
Updated Branches:
  refs/heads/master 8be383ebe -> 4591ffb61


FALCON-1641 Triage on an invalid feed instance throws IndexOutOfBoundException. Contributed
by Karishma Gulati.


Project: http://git-wip-us.apache.org/repos/asf/falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/47f8a605
Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/47f8a605
Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/47f8a605

Branch: refs/heads/master
Commit: 47f8a605df3c2fe98d4690838491479b17f1fb40
Parents: 15e43a8
Author: Ajay Yadava <ajaynsit@gmail.com>
Authored: Tue Dec 15 16:59:26 2015 +0530
Committer: Ajay Yadava <ajaynsit@gmail.com>
Committed: Tue Dec 15 17:53:16 2015 +0530

----------------------------------------------------------------------
 CHANGES.txt                                       |  2 ++
 .../falcon/resource/AbstractInstanceManager.java  | 18 +++++++++++++-----
 2 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/falcon/blob/47f8a605/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bf3e47f..4c2e42c 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -72,6 +72,8 @@ Trunk (Unreleased)
   OPTIMIZATIONS
 
   BUG FIXES
+    FALCON-1641 Triage on an invalid feed instance throws IndexOutOfBoundException(Karishma
Gulati via Ajay Yadava)
+
     FALCON-1572 Only one instance is running in a process when run using Native Scheduler(Pallavi
Rao via Ajay Yadava)
 
     FALCON-1660 Examples directory missing in distributed mode(Praveen Adlakha via Ajay Yadava)

http://git-wip-us.apache.org/repos/asf/falcon/blob/47f8a605/prism/src/main/java/org/apache/falcon/resource/AbstractInstanceManager.java
----------------------------------------------------------------------
diff --git a/prism/src/main/java/org/apache/falcon/resource/AbstractInstanceManager.java b/prism/src/main/java/org/apache/falcon/resource/AbstractInstanceManager.java
index 81960a0..da2fea7 100644
--- a/prism/src/main/java/org/apache/falcon/resource/AbstractInstanceManager.java
+++ b/prism/src/main/java/org/apache/falcon/resource/AbstractInstanceManager.java
@@ -313,7 +313,7 @@ public abstract class AbstractInstanceManager extends AbstractEntityManager
{
         // Sort the ArrayList using orderBy
         instanceSet = sortInstances(instanceSet, orderBy.toLowerCase(), sortOrder);
         result.setCollection(instanceSet.subList(
-                offset, (offset+pageCount)).toArray(new Instance[pageCount]));
+                offset, (offset + pageCount)).toArray(new Instance[pageCount]));
         return result;
     }
 
@@ -706,9 +706,13 @@ public abstract class AbstractInstanceManager extends AbstractEntityManager
{
 
                 // add vertex to the graph
                 vertices.add(currentInstance.toString());
-                instanceStatusMap.put(currentInstance.toString(), "[" + status.name() + "]");
-                if (status == FeedInstanceStatus.AvailabilityStatus.AVAILABLE) {
-                    continue;
+                if (status == null) {
+                    instanceStatusMap.put(currentInstance.toString(), "[ Not Available ]");
+                } else {
+                    instanceStatusMap.put(currentInstance.toString(), "[" + status.name()
+ "]");
+                    if (status == FeedInstanceStatus.AvailabilityStatus.AVAILABLE) {
+                        continue;
+                    }
                 }
 
                 // find producer process instance and add it to the queue
@@ -782,7 +786,11 @@ public abstract class AbstractInstanceManager extends AbstractEntityManager
{
         Date endRange = new Date(instanceTime.getTime() + 200);
         List<FeedInstanceStatus> feedListing = storage.getListing(feed, cluster.getName(),
LocationType.DATA,
                 instanceTime, endRange);
-        return feedListing.get(0).getStatus();
+        if (feedListing.size() > 0) {
+            return feedListing.get(0).getStatus();
+        }
+        LOG.warn("No instances were found for the given feed: {} & instanceTime: {}",
feed, instanceTime);
+        return null;
     }
 
     private InstancesResult.WorkflowStatus getProcessInstanceStatus(Process process, Date
instanceTime)


Mime
View raw message