add check for a Cassandra request
authorSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Wed, 22 Jan 2014 09:26:48 +0000 (09:26 +0000)
committerSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Wed, 22 Jan 2014 09:26:48 +0000 (09:26 +0000)
datadb/compbio/cassandra/CassandraRemover.java

index 48a5893..76cc787 100644 (file)
@@ -11,6 +11,8 @@ import org.apache.log4j.Logger;
 import com.datastax.driver.core.ResultSet;
 import com.datastax.driver.core.Row;
 import com.datastax.driver.core.Session;
+import com.datastax.driver.core.exceptions.QueryExecutionException;
+import com.datastax.driver.core.exceptions.QueryValidationException;
 
 public class CassandraRemover {
        private Session session;
@@ -110,14 +112,11 @@ public class CassandraRemover {
                                }
                        }
                        String comm = "SELECT JobID FROM FailLog WHERE jobtime = " + date.getTime() + ";";
-                       System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^: " + comm);
                        ResultSet resultsfail = session.execute(comm);
-                       System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^: " + comm);
                        if (!resultsfail.isExhausted()) {
                                List<Row> rows = resultsfail.all();
                                for (Row r : rows) {
                                        String jobid = r.getString("JobID");
-                                       System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^: " + jobid);
                                        if (jobid != null) {
                                                RemoveJob(jobid, date.getTime());
                                                numremover++;
@@ -174,10 +173,26 @@ public class CassandraRemover {
        }
 
        private String FindStatus(String jobid) {
-               String com = "SELECT FinalStatus FROM ProteinLog WHERE JobID = '" + jobid + "';";
-               System.out.println("Command: " + com);
-               ResultSet results = session.execute(com);
-               String status = results.one().getString("FinalStatus");
+               String status = "UNKNOWN";
+               String command = "SELECT FinalStatus FROM ProteinLog WHERE JobID = '" + jobid + "';";
+               try {
+                       System.out.println("Command: " + command);
+                       ResultSet results = session.execute(command);
+                       Row raw = results.one();
+                       if (null != raw) {
+                               status = raw.getString("FinalStatus");
+                       }
+               } catch (QueryExecutionException e) {
+                       String mess = "CassandraRemover: query execution exception...";
+                       System.out.println(mess);
+                       log.error(mess);
+                       log.error(e.getLocalizedMessage(), e.getCause());
+               } catch (QueryValidationException e) {
+                       String mess = "CassandraRemover: query validation exception... Command: " + command;
+                       System.out.println(mess);
+                       log.error(mess);
+                       log.error(e.getLocalizedMessage(), e.getCause());
+               }
                System.out.println("*****status: " + status);
                return status;
        }