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, //