You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by vi...@apache.org on 2013/08/06 04:47:57 UTC

git commit: handle-trigger-non-existance patch by Vijay; reviewed by Brandon Williams for CASSANDRA-5826

Updated Branches:
  refs/heads/trunk cf62bdcd3 -> bf6c3aaba


handle-trigger-non-existance
patch by Vijay; reviewed by Brandon Williams for CASSANDRA-5826


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

Branch: refs/heads/trunk
Commit: bf6c3aaba3657b7b57ebfac2de42f6ee27138bed
Parents: cf62bdc
Author: Vijay Parthasarathy <vi...@gmail.com>
Authored: Mon Aug 5 19:45:57 2013 -0700
Committer: Vijay Parthasarathy <vi...@gmail.com>
Committed: Mon Aug 5 19:45:57 2013 -0700

----------------------------------------------------------------------
 .../cassandra/triggers/TriggerExecutor.java       |  6 ++++--
 .../org/apache/cassandra/utils/FBUtilities.java   | 18 +++++++++++++-----
 2 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf6c3aab/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/triggers/TriggerExecutor.java b/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
index c6feb84..582a224 100644
--- a/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
+++ b/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
@@ -42,7 +42,6 @@ public class TriggerExecutor
 
     private final Map<String, ITrigger> cachedTriggers = Maps.newConcurrentMap();
     private final ClassLoader parent = Thread.currentThread().getContextClassLoader();
-    private final File triggerDirectory = FBUtilities.cassandraTriggerDir();
     private volatile ClassLoader customClassLoader;
 
     private TriggerExecutor()
@@ -56,7 +55,10 @@ public class TriggerExecutor
      */
     public void reloadClasses()
     {
-        customClassLoader = new CustomClassLoader(parent, triggerDirectory);
+        File tiggerDirectory = FBUtilities.cassandraTriggerDir();
+        if (tiggerDirectory == null)
+            return;
+        customClassLoader = new CustomClassLoader(parent, tiggerDirectory);
         cachedTriggers.clear();
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf6c3aab/src/java/org/apache/cassandra/utils/FBUtilities.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java b/src/java/org/apache/cassandra/utils/FBUtilities.java
index 7873ce7..e5bd71e 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -52,7 +52,6 @@ import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.exceptions.ConfigurationException;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.io.util.DataOutputBuffer;
-import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.io.util.IAllocator;
 import org.apache.cassandra.net.AsyncOneResponse;
 import org.apache.thrift.TBase;
@@ -344,13 +343,22 @@ public class FBUtilities
 
     public static File cassandraTriggerDir()
     {
-        File triggerDir;
+        File triggerDir = null;
         if (System.getProperty("cassandra.triggers_dir") != null)
+        {
             triggerDir = new File(System.getProperty("cassandra.triggers_dir"));
+        }
         else
-            triggerDir = new File(FBUtilities.class.getClassLoader().getResource(DEFAULT_TRIGGER_DIR).getFile());
-        if (!triggerDir.exists())
-            throw new RuntimeException("Trigger Directory doesnt exist, please create inside conf.");
+        {
+            URL confDir = FBUtilities.class.getClassLoader().getResource(DEFAULT_TRIGGER_DIR);
+            if (confDir != null)
+                triggerDir = new File(confDir.getFile());
+        }
+        if (triggerDir == null || !triggerDir.exists())
+        {
+            logger.warn("Trigger Directory doesnt exist, please create it and try again.");
+            return null;
+        }
         return triggerDir;
     }