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:46:34 UTC
svn commit: r1578370 - 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:46:33 2014
New Revision: 1578370
URL: http://svn.apache.org/r1578370
Log:
fix reading int and long values from 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/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=1578370&r1=1578369&r2=1578370&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:46:33 2014
@@ -18,6 +18,8 @@ package org.apache.sirona.cassandra.coll
import me.prettyprint.cassandra.model.ConfigurableConsistencyLevel;
import me.prettyprint.cassandra.serializers.DoubleSerializer;
+import me.prettyprint.cassandra.serializers.IntegerSerializer;
+import me.prettyprint.cassandra.serializers.LongSerializer;
import me.prettyprint.cassandra.serializers.SerializerTypeInferer;
import me.prettyprint.cassandra.service.CassandraHostConfigurator;
import me.prettyprint.cassandra.service.StringKeyIterator;
@@ -180,13 +182,25 @@ public class CassandraSirona {
public static Number getOrDefault(final DynamicDelegatedSerializer delegatedSerializer, final HColumn<?, ?> col, final Serializer<?> serializer) {
delegatedSerializer.setDelegate(serializer);
+
if (col == null || col.getValue() == null) {
if ( DoubleSerializer.get() == serializer) {
return Double.NaN;
}
return 0;
}
- final Object value = col.getValue();
+
+ if ( LongSerializer.get() == serializer)
+ {
+ return Number.class.cast( serializer.fromByteBuffer( col.getValueBytes() ) );
+ }
+
+ if ( IntegerSerializer.get() == serializer)
+ {
+ return Number.class.cast( serializer.fromByteBuffer( col.getValueBytes() ) );
+ }
+
+ Object value = col.getValue();
if (Number.class.isInstance(value)) {
return Number.class.cast(value);
}
Modified: incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/pathtracking/CassandraPathTrackingDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/pathtracking/CassandraPathTrackingDataStore.java?rev=1578370&r1=1578369&r2=1578370&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/pathtracking/CassandraPathTrackingDataStore.java (original)
+++ incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/pathtracking/CassandraPathTrackingDataStore.java Mon Mar 17 13:46:33 2014
@@ -17,6 +17,7 @@
package org.apache.sirona.cassandra.pathtracking;
+import me.prettyprint.cassandra.serializers.IntegerSerializer;
import me.prettyprint.cassandra.serializers.LongSerializer;
import me.prettyprint.cassandra.serializers.StringSerializer;
import me.prettyprint.hector.api.Keyspace;
@@ -33,6 +34,7 @@ import org.apache.sirona.store.tracking.
import org.apache.sirona.store.tracking.CollectorPathTrackingDataStore;
import org.apache.sirona.store.tracking.PathTrackingDataStore;
import org.apache.sirona.tracking.PathTrackingEntry;
+import org.apache.sirona.tracking.PathTrackingEntryComparator;
import java.util.ArrayList;
import java.util.Collection;
@@ -167,9 +169,6 @@ public class CassandraPathTrackingDataSt
String className = columnSlice.getColumnByName( "className" ).getValue();
String methodName = columnSlice.getColumnByName( "methodName" ).getValue();
- //Serializer<String> stringSerializer = columnSlice.getColumnByName( "startTime" ).getValueSerializer();
-
- //String foo = columnSlice.getColumnByName( "startTime" ).getValue();
long startTime = getOrDefault( serializer, //
columnSlice.getColumnByName( "startTime" ), //
LongSerializer.get() ).longValue();
@@ -180,12 +179,12 @@ public class CassandraPathTrackingDataSt
int level = getOrDefault( serializer, //
columnSlice.getColumnByName( "level" ), //
- LongSerializer.get() ).intValue();
+ IntegerSerializer.get() ).intValue();
Set<PathTrackingEntry> pathTrackingEntries = entries.get( trackingId );
if ( pathTrackingEntries == null )
{
- pathTrackingEntries = new TreeSet<PathTrackingEntry>();
+ pathTrackingEntries = new TreeSet<PathTrackingEntry>( PathTrackingEntryComparator.INSTANCE );
}
pathTrackingEntries.add( new PathTrackingEntry( trackingId, //
nodeId, //