You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by ol...@apache.org on 2014/03/28 07:08:04 UTC

svn commit: r1582620 - /incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java

Author: olamy
Date: Fri Mar 28 06:08:04 2014
New Revision: 1582620

URL: http://svn.apache.org/r1582620
Log:
only one execute call when receiving collection of datas

Modified:
    incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java

Modified: incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java?rev=1582620&r1=1582619&r2=1582620&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java (original)
+++ incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java Fri Mar 28 06:08:04 2014
@@ -25,6 +25,7 @@ import me.prettyprint.hector.api.beans.O
 import me.prettyprint.hector.api.beans.Row;
 import me.prettyprint.hector.api.exceptions.HInvalidRequestException;
 import me.prettyprint.hector.api.factory.HFactory;
+import me.prettyprint.hector.api.mutation.Mutator;
 import me.prettyprint.hector.api.query.QueryResult;
 import org.apache.sirona.cassandra.DynamicDelegatedSerializer;
 import org.apache.sirona.cassandra.collector.CassandraSirona;
@@ -102,16 +103,15 @@ public class CassandraPathTrackingDataSt
     public void store( Collection<PathTrackingEntry> pathTrackingEntries )
     {
 
-        // FIXME find a more efficient way to store such batch of datas
+        Mutator<String> mutator = HFactory.createMutator( keyspace, StringSerializer.get() );
 
         for ( PathTrackingEntry pathTrackingEntry : pathTrackingEntries )
-
         {
             final String id = id( pathTrackingEntry );
 
             try
             {
-                HFactory.createMutator( keyspace, StringSerializer.get() )
+                mutator
                     //  values
                     .addInsertion( id, family, column( "trackingId", pathTrackingEntry.getTrackingId() ) ) //
                     .addInsertion( id, family, column( "nodeId", pathTrackingEntry.getNodeId() ) ) //
@@ -121,8 +121,8 @@ public class CassandraPathTrackingDataSt
                     .addInsertion( id, family, column( "executionTime", pathTrackingEntry.getExecutionTime() ) ) //
                         // we force level as long to be able to do slice queries include filtering on level, startTime
                     .addInsertion( id, family, column( "level", Long.valueOf( pathTrackingEntry.getLevel() ) ) ) //
-                    .addInsertion( "PATH_TRACKING", markerFamilly, emptyColumn( id ) ) //
-                    .execute();
+                    .addInsertion( "PATH_TRACKING", markerFamilly, emptyColumn( id ) );
+
             }
             catch ( HInvalidRequestException e )
             {
@@ -130,6 +130,15 @@ public class CassandraPathTrackingDataSt
                 e.printStackTrace();
             }
         }
+        try
+        {
+            mutator.execute();
+        }
+        catch ( HInvalidRequestException e )
+        {
+            // ignore but log it
+            e.printStackTrace();
+        }
     }
 
     protected String id( PathTrackingEntry pathTrackingEntry )