You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2013/11/13 17:15:29 UTC

svn commit: r1541581 - in /incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra: DynamicDelegatedSerializer.java collector/CassandraSirona.java collector/counter/CassandraCollectorCounterDataStore.java

Author: rmannibucau
Date: Wed Nov 13 16:15:29 2013
New Revision: 1541581

URL: http://svn.apache.org/r1541581
Log:
adding superKeys method since keys doesn't work in some case for super columns

Modified:
    incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/DynamicDelegatedSerializer.java
    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/counter/CassandraCollectorCounterDataStore.java

Modified: incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/DynamicDelegatedSerializer.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/DynamicDelegatedSerializer.java?rev=1541581&r1=1541580&r2=1541581&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/DynamicDelegatedSerializer.java (original)
+++ incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/DynamicDelegatedSerializer.java Wed Nov 13 16:15:29 2013
@@ -33,6 +33,9 @@ public class DynamicDelegatedSerializer<
 
     @Override
     public T fromByteBuffer(final ByteBuffer byteBuffer) {
+        if (delegate == null) {
+            return null;
+        }
         return delegate.fromByteBuffer(byteBuffer);
     }
 

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=1541581&r1=1541580&r2=1541581&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 Wed Nov 13 16:15:29 2013
@@ -26,7 +26,9 @@ import me.prettyprint.hector.api.Keyspac
 import me.prettyprint.hector.api.Serializer;
 import me.prettyprint.hector.api.beans.HColumn;
 import me.prettyprint.hector.api.beans.OrderedRows;
+import me.prettyprint.hector.api.beans.OrderedSuperRows;
 import me.prettyprint.hector.api.beans.Row;
+import me.prettyprint.hector.api.beans.SuperRow;
 import me.prettyprint.hector.api.ddl.ColumnFamilyDefinition;
 import me.prettyprint.hector.api.ddl.ColumnType;
 import me.prettyprint.hector.api.ddl.ComparatorType;
@@ -37,6 +39,7 @@ import org.apache.sirona.configuration.i
 import org.apache.sirona.configuration.ioc.IoCs;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.logging.Logger;
 
@@ -149,6 +152,24 @@ public class CassandraSirona {
         return set;
     }
 
+    public static Collection<String> superKeys(final Keyspace keyspace, final String family) {
+        final OrderedSuperRows<String, String, String, ?> result = HFactory.createRangeSuperSlicesQuery(keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get(), new DynamicDelegatedSerializer<Object>())
+            .setColumnFamily(family)
+            .setRange(null, null, false, Integer.MAX_VALUE)
+            .setKeys("", "")
+            .execute()
+            .get();
+
+        final Collection<String> set = new HashSet<String>();
+        if (result != null) {
+            for (final SuperRow<String, String, String, ?> row : result) {
+                set.add(row.getKey());
+            }
+        }
+
+        return set;
+    }
+
     private static ColumnFamilyDefinition createSuperColumn(final String keyspaceName, final String name, final ComparatorType comparator) {
         final ColumnFamilyDefinition statuses = HFactory.createColumnFamilyDefinition(keyspaceName, name, ComparatorType.UTF8TYPE);
         statuses.setColumnType(ColumnType.SUPER);

Modified: incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/counter/CassandraCollectorCounterDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/counter/CassandraCollectorCounterDataStore.java?rev=1541581&r1=1541580&r2=1541581&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/counter/CassandraCollectorCounterDataStore.java (original)
+++ incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/counter/CassandraCollectorCounterDataStore.java Wed Nov 13 16:15:29 2013
@@ -48,7 +48,7 @@ import java.util.List;
 import java.util.Map;
 
 import static org.apache.sirona.cassandra.collector.CassandraSirona.column;
-import static org.apache.sirona.cassandra.collector.CassandraSirona.keys;
+import static org.apache.sirona.cassandra.collector.CassandraSirona.superKeys;
 
 public class CassandraCollectorCounterDataStore extends InMemoryCollectorCounterStore {
     private final Keyspace keyspace;
@@ -97,7 +97,7 @@ public class CassandraCollectorCounterDa
 
     @Override
     public Collection<String> markers() {
-        return keys(keyspace, family);
+        return superKeys(keyspace, family);
     }
 
     @Override // TODO: see if we shouldn't store it or if aggregation can be done on java side