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/17 14:47:12 UTC
svn commit: r1578373 - in
/incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector:
CassandraSirona.java pathtracking/CassandraPathTrackingDataStore.java
Author: olamy
Date: Mon Mar 17 13:47:11 2014
New Revision: 1578373
URL: http://svn.apache.org/r1578373
Log:
fix possible insertion issue on non embeded cassandra
Modified:
incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/CassandraSirona.java
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/CassandraSirona.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/CassandraSirona.java?rev=1578373&r1=1578372&r2=1578373&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/CassandraSirona.java (original)
+++ incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/CassandraSirona.java Mon Mar 17 13:47:11 2014
@@ -92,11 +92,12 @@ public class CassandraSirona {
pathTracking.setComparatorType( ComparatorType.UTF8TYPE );
// creating indexes for cql query
+
BasicColumnDefinition levelColumn = new BasicColumnDefinition();
levelColumn.setName( StringSerializer.get().toByteBuffer("level"));
levelColumn.setIndexName("level");
levelColumn.setIndexType( ColumnIndexType.KEYS);
- levelColumn.setValidationClass(ComparatorType.INTEGERTYPE.getClassName());
+ levelColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName());
pathTracking.addColumnDefinition( levelColumn );
BasicColumnDefinition startTimeColumn = new BasicColumnDefinition();
@@ -106,6 +107,15 @@ public class CassandraSirona {
startTimeColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName());
pathTracking.addColumnDefinition( startTimeColumn );
+ // force the validation class for this column as can fail on non embeded cassandra
+ BasicColumnDefinition executionTimeColumn = new BasicColumnDefinition();
+ executionTimeColumn.setName( StringSerializer.get().toByteBuffer("executionTime"));
+ //startTimeColumn.setIndexName("startTime");
+ //startTimeColumn.setIndexType( ColumnIndexType.KEYS);
+ executionTimeColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName());
+ pathTracking.addColumnDefinition( executionTimeColumn );
+
+
final ColumnFamilyDefinition markerPathTracking =
HFactory.createColumnFamilyDefinition( keyspaceName, builder.getMarkerPathTrackingColumFamily(), ComparatorType.UTF8TYPE);
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=1578373&r1=1578372&r2=1578373&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 Mon Mar 17 13:47:11 2014
@@ -23,8 +23,10 @@ import me.prettyprint.hector.api.Keyspac
import me.prettyprint.hector.api.beans.ColumnSlice;
import me.prettyprint.hector.api.beans.OrderedRows;
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.query.QueryResult;
+import org.apache.cassandra.thrift.InvalidRequestException;
import org.apache.sirona.cassandra.DynamicDelegatedSerializer;
import org.apache.sirona.cassandra.collector.CassandraSirona;
import org.apache.sirona.configuration.ioc.IoCs;
@@ -99,18 +101,26 @@ public class CassandraPathTrackingDataSt
{
final String id = id( pathTrackingEntry );
- HFactory.createMutator( keyspace, StringSerializer.get() )
- // values
- .addInsertion( id, family, column( "trackingId", pathTrackingEntry.getTrackingId() ) ) //
- .addInsertion( id, family, column( "nodeId", pathTrackingEntry.getNodeId() ) ) //
- .addInsertion( id, family, column( "className", pathTrackingEntry.getClassName() ) ) //
- .addInsertion( id, family, column( "methodName", pathTrackingEntry.getMethodName() ) ) //
- .addInsertion( id, family, column( "startTime", pathTrackingEntry.getStartTime() ) ) //
- .addInsertion( id, family, column( "executionTime", pathTrackingEntry.getExecutionTime() ) ) //
+ try
+ {
+ HFactory.createMutator( keyspace, StringSerializer.get() )
+ // values
+ .addInsertion( id, family, column( "trackingId", pathTrackingEntry.getTrackingId() ) ) //
+ .addInsertion( id, family, column( "nodeId", pathTrackingEntry.getNodeId() ) ) //
+ .addInsertion( id, family, column( "className", pathTrackingEntry.getClassName() ) ) //
+ .addInsertion( id, family, column( "methodName", pathTrackingEntry.getMethodName() ) ) //
+ .addInsertion( id, family, column( "startTime", pathTrackingEntry.getStartTime() ) ) //
+ .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( id, family, column( "level", Long.valueOf( pathTrackingEntry.getLevel() ) ) ) //
+ .addInsertion( "PATH_TRACKING", markerFamilly, emptyColumn( id ) ) //
+ .execute();
+ }
+ catch ( HInvalidRequestException e )
+ {
+ // ignore but log it
+ e.printStackTrace();
+ }
}
}