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