CQL query regarding indexes

2014-06-12 Thread Roshan
Hi

Cassandra - 2.0.8
DataStax driver - 2.0.2

I have create a keyspace and a table with indexes like below.
CREATE TABLE services.messagepayload (
  partition_id uuid,
  messageid bigint,
  senttime timestamp,
  PRIMARY KEY (partition_id) 
) WITH compression =
{ 'sstable_compression' : 'LZ4Compressor', 'chunk_length_kb' : 64 };

CREATE INDEX idx_messagepayload_senttime ON services.messagepayload
(senttime);

While I am running the below query I am getting an exception.

SELECT * FROM b_bank_services.messagepayload WHERE senttime=140154480
AND senttime=140171760 ALLOW FILTERING;

com.datastax.driver.core.exceptions.InvalidQueryException: No indexed
columns present in by-columns clause with Equal operator

Could someone can explain what's going on? I have create a index to the
search column, but seems not working.

Thanks.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-query-regarding-indexes-tp7595122.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra Secondary Index implementation

2013-08-26 Thread Roshan
Hello

First get some understanding about secondary indexes.

http://www.datastax.com/docs/1.1/ddl/indexes

Thanks.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-Secondary-Index-implementation-tp7589792p7589906.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Decommission nodes starts to appear from one node (1.0.11)

2013-05-16 Thread Roshan
I found this bug, seems it is fixed. But I can see that in my situation, the
decommission node still I can see from the JMX console LoadMap attribute.

Might this is the reason why hector says not enough replica??

Experts, any thoughts??

Thanks.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Decommission-nodes-starts-to-appear-from-one-node-1-0-11-tp7587842p7587845.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Decommission nodes starts to appear from one node (1.0.11)

2013-05-16 Thread Roshan
Thanks. This is kind of a expert advice for me. 



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Decommission-nodes-starts-to-appear-from-one-node-1-0-11-tp7587842p7587876.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Upgrade from 1.0.11 to 1.2.X

2013-05-14 Thread Roshan
While upgrading from 1.0.11 to 1.2.4, I saw this exception in my log.

2013-05-14 10:50:10,291 ERROR [CassandraDaemon] Exception in thread
Thread[MutationStage:17,5,main]
java.lang.RuntimeException: java.lang.NullPointerException
at
org.apache.cassandra.service.StorageProxy$HintRunnable.run(StorageProxy.java:1647)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at org.apache.cassandra.utils.UUIDGen.decompose(UUIDGen.java:82)
at org.apache.cassandra.cql.jdbc.JdbcUUID.decompose(JdbcUUID.java:55)
at org.apache.cassandra.db.marshal.UUIDType.decompose(UUIDType.java:187)
at org.apache.cassandra.db.RowMutation.hintFor(RowMutation.java:103)
at
org.apache.cassandra.service.StorageProxy.writeHintForMutation(StorageProxy.java:581)
at
org.apache.cassandra.service.StorageProxy$5.runMayThrow(StorageProxy.java:555)
at
org.apache.cassandra.service.StorageProxy$HintRunnable.run(StorageProxy.java:1643)
... 6 more

Any reason?

/Roshan



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Upgrade-from-1-0-11-to-1-2-X-tp7587786p7587792.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Upgrade from 1.0.11 to 1.2.X

2013-05-14 Thread Roshan
Thanks for your short answer. It explains lot.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Upgrade-from-1-0-11-to-1-2-X-tp7587786p7587824.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Upgrade from 1.0.11 to 1.2.X

2013-05-14 Thread Roshan
Thanks Aaron for the reply. I will need to upgrade 1.0.X to 1.1.X first.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Upgrade-from-1-0-11-to-1-2-X-tp7587786p7587825.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Upgrade from 1.0.11 to 1.2.X

2013-05-13 Thread Roshan
Hi

Haven't visit to this forum couple of months and want to upgrade our current
production Cassandra cluster (4 nodes 1.0.11) to 1.2.X latest versions.

Is this kind of the straight upgrade or different?

Thanks  Regards

/Roshan 



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Upgrade-from-1-0-11-to-1-2-X-tp7587786.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Need help in updating metadata of an existing column family

2012-11-29 Thread Roshan Dawrani
Is it possible to update the column-metadata of a column family definition
programmatically? If yes, can someone please point me to the right classes
to use?

Thanks.


On Thu, Nov 29, 2012 at 3:58 PM, Roshan Dawrani roshandawr...@gmail.comwrote:

 Hi,

 I have an existing column family that is created with comparator
 BytesType. I want to add a built-in index to this column family and I am
 executing the following command using CLI:

 =
 update column family MyCF with comparator=BytesType and
 column_metadata=[{column_name: userid, validation_class: UTF8Type,
 index_type: KEYS, index_name: ACUserIdIdx}];
 =

 However the column metadata that actually gets added has the column name *
 fd* and not *userid.*

 From a previous thread, I have understood that in this case Cassandra
 treats the column name I have given as bytes (due to comparator BytesType),
 and hence comes up with a different name.

 *Any workaround solution for creating the column metadata with the
 correct column name?*

 Regards,
 --
 Roshan
 http://roshandawrani.wordpress.com/




-- 
Roshan
http://roshandawrani.wordpress.com/


How to change the seed node Cassandra 1.0.11

2012-10-23 Thread Roshan
Hi

In our production, we have 3 Cassandra 1.0.11 nodes.

Due to a reason, I want to move the current seed node to another node and
once seed node change, the previous node want to remove from cluster.

How can I do that?

Thanks. 




--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/How-to-change-the-seed-node-Cassandra-1-0-11-tp7583338.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: How to purge the Hinted data from Cassandra 1.0.11

2012-08-08 Thread Roshan
I managed to delete the hints from JConsole by using HintedHadOffManager
MBean.

Thanks.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/How-to-purge-the-Hinted-data-from-Cassandra-1-0-11-tp7581614p7581641.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


How to purge the Hinted data from Cassandra

2012-08-07 Thread Roshan
Hi

I have upgrade the  production cassandra cluster to 1.0.11 version.

But still one node sending hints to a other node in cluster every 10 mins.
All the nodes in cluster are up and running and well balanced.  Log says:

2012-08-08 08:56:54,380 INFO  [HintedHandOffManager] Started hinted handoff
for token: 113427455640312814857969558651062452224 with IP: /10.50.50.111
2012-08-08 08:56:54,383 INFO  [HintedHandOffManager] Finished hinted handoff
of 0 rows to endpoint /10.50.50.111

How can I remove this hints from node?

Thanks

/Roshan





--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/How-to-purge-the-Hinted-data-from-Cassandra-tp7581614.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


One Cassandra 1.0.11 node continuously doing the hint hand off

2012-08-05 Thread Roshan
Hi

I have upgrade the 1.0.6 production cluster to 1.0.11 version node by node.
All went OK, but found one node continuously sending hints to a one node in
the same cluster.  Ring is well balanced and nothing special in the cluster.
Any thoughts ??

*Ring output*
Address DC  RackStatus State   LoadOwns   
Token   
  
113427455640312814857969558651062452224 
10.1.161.60 datacenter1 rack1   Up Normal  311.4 MB
33.33%  0   
10.1.161.61 datacenter1 rack1   Up Normal  311.76 MB  
33.33%  56713727820156407428984779325531226112  
10.1.161.74 datacenter1 rack1   Up Normal  311.08 MB  
33.33%  113427455640312814857969558651062452224 

*Hint handoff message*
2012-08-06 12:41:56,721 INFO  [HintedHandOffManager] Started hinted handoff
for token: 56713727820156407428984779325531226112 with IP: /10.1.161.61
2012-08-06 12:41:56,742 INFO  [HintedHandOffManager] Finished hinted handoff
of 0 rows to endpoint /10.1.161.61

Is this message is can be safely ignore??

Thanks

/Roshan





--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/One-Cassandra-1-0-11-node-continuously-doing-the-hint-hand-off-tp7581599.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Mixed cluster node with version 1.1.2 and 1.0.6 gives errors

2012-08-02 Thread Roshan
Thanks to point me the solution. So that means, I want to upgrade 1.0.6
cluster to 1.0.11 first, then upgrade to 1.1.2 version. Is I am right?

Thanks

/Roshan



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Mixed-cluster-node-with-version-1-1-2-and-1-0-6-gives-errors-tp7581534p7581573.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Mixed cluster node with version 1.1.2 and 1.0.6 gives errors

2012-07-31 Thread Roshan
Hi

I have 3 node development cluster and all running 1.0.6 version without any
issue. As the part of the upgrade to 1.1.2, I just upgrade one node to 1.1.2
version. When start the upgraded 1.1.2 node, the other 1.0.6 nodes getting
the below exceptions?

2012-08-01 18:31:15,990 INFO  [IncomingTcpConnection] Received connection
from newer protocol version. Ignorning
2012-08-01 18:31:16,008 INFO  [Gossiper] Node /10.1.161.202 has restarted,
now UP
2012-08-01 18:31:16,008 INFO  [Gossiper] InetAddress /10.1.161.202 is now UP
2012-08-01 18:31:16,010 ERROR [AbstractCassandraDaemon] Fatal exception in
thread Thread[GossipStage:1,5,main]
java.lang.UnsupportedOperationException: Not a time-based UUID
at java.util.UUID.timestamp(UUID.java:308)
at
org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:98)
at
org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:81)
at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:807)
at
org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:850)
at
org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:909)
at
org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:68)
at
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012-08-01 18:31:16,013 ERROR [AbstractCassandraDaemon] Fatal exception in
thread Thread[GossipStage:1,5,main]
java.lang.UnsupportedOperationException: Not a time-based UUID
at java.util.UUID.timestamp(UUID.java:308)
at
org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:98)
at
org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:81)
at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:807)
at
org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:850)
at
org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:909)
at
org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:68)
at
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012-08-01 18:31:16,383 INFO  [StorageService] Node /10.1.161.202 state jump
to normal
2012-08-01 18:32:17,132 ERROR [AbstractCassandraDaemon] Fatal exception in
thread Thread[HintedHandoff:1,1,main]
java.lang.RuntimeException: Could not reach schema agreement with
/10.1.161.202 in 6ms
at
org.apache.cassandra.db.HintedHandOffManager.waitForSchemaAgreement(HintedHandOffManager.java:224)
at
org.apache.cassandra.db.HintedHandOffManager.deliverHintsToEndpoint(HintedHandOffManager.java:239)
at
org.apache.cassandra.db.HintedHandOffManager.access$100(HintedHandOffManager.java:81)
at
org.apache.cassandra.db.HintedHandOffManager$2.runMayThrow(HintedHandOffManager.java:353)
at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012-08-01 18:32:17,133 ERROR [AbstractCassandraDaemon] Fatal exception in
thread Thread[HintedHandoff:1,1,main]
java.lang.RuntimeException: Could not reach schema agreement with
/10.1.161.202 in 6ms
at
org.apache.cassandra.db.HintedHandOffManager.waitForSchemaAgreement(HintedHandOffManager.java:224)
at
org.apache.cassandra.db.HintedHandOffManager.deliverHintsToEndpoint(HintedHandOffManager.java:239)
at
org.apache.cassandra.db.HintedHandOffManager.access$100(HintedHandOffManager.java:81)
at
org.apache.cassandra.db.HintedHandOffManager$2.runMayThrow(HintedHandOffManager.java:353)
at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)


Any thoughts??

/Roshan



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Mixed-cluster-node-with-version-1-1-2-and-1-0-6-gives-errors-tp7581534.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Error occures while doing the draing Cassandra 1.1.2

2012-07-29 Thread Roshan
Hi

I got the below exception to Cassandra log while doing the *drain* via
*nodetool* operation before shutting down one node in 3 node development
Cassandra 1.1.2 cluster.

2012-07-30 09:37:45,347 ERROR [CustomTThreadPoolServer] Thrift error
occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Missing version in
readMessageBegin, old client?
at
org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:213)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:22)
at
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:186)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
2012-07-30 09:38:02,322 INFO  [ColumnFamilyStore] Enqueuing flush of
Memtable-schema_keyspaces@29290924(202/252 serialized/live bytes, 4 ops)
2012-07-30 09:38:02,323 INFO  [Memtable] Writing
Memtable-schema_keyspaces@29290924(202/252 serialized/live bytes, 4 ops)
2012-07-30 09:38:02,470 INFO  [Memtable] Completed flushing
/data/cassandradb/data/system/schema_keyspaces/system-schema_keyspaces-hd-6-Data.db
(252 bytes) for commitlog position ReplayPosition(segmentId=245321525874562,
position=3546)
2012-07-30 09:58:31,015 INFO  [StorageService] DRAINING: starting drain
process
2012-07-30 09:58:31,015 INFO  [CassandraDaemon] Stop listening to thrift
clients
2012-07-30 09:58:31,020 INFO  [Gossiper] Announcing shutdown
2012-07-30 09:58:32,024 INFO  [MessagingService] Waiting for messaging
service to quiesce
2012-07-30 09:58:32,027 INFO  [MessagingService] MessagingService shutting
down server thread.
2012-07-30 09:58:32,088 INFO  [StorageService] DRAINED

Any thoughts?



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Error-occures-while-doing-the-draing-Cassandra-1-1-2-tp7581493.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Cassandra 1.0.6 nodetool drain gives lots of batch_mutate exceptions

2012-07-29 Thread Roshan
)
at
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012-07-30 23:08:18,194 ERROR [Cassandra$Processor] Internal error
processing batch_mutate
java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut
down
at
org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:60)
at
java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at
org.apache.cassandra.service.StorageProxy.insertLocal(StorageProxy.java:420)
at
org.apache.cassandra.service.StorageProxy.sendToHintedEndpoints(StorageProxy.java:308)
at 
org.apache.cassandra.service.StorageProxy$2.apply(StorageProxy.java:120)
at
org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:255)
at 
org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:194)
at
org.apache.cassandra.thrift.CassandraServer.doInsert(CassandraServer.java:638)
at
org.apache.cassandra.thrift.CassandraServer.internal_batch_mutate(CassandraServer.java:589)
at
org.apache.cassandra.thrift.CassandraServer.batch_mutate(CassandraServer.java:597)
at
org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.process(Cassandra.java:3454)
at
org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
at
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

After several second I noticed that the Cassandra process is still not
killed and I killed it manually. 

Why is this strange behavior? How should I need to do the drain without
these exceptions?

Thanks

/Roshan
 




--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-1-0-6-nodetool-drain-gives-lots-of-batch-mutate-exceptions-tp7581497.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Cassandra Hector failover + load balancing not as expected with version 1.0-5

2012-07-22 Thread Roshan
Hi

Currently I am using Cassandra 1.0.6 with Hector 1.0-5 in production, and
now in the process of upgrading current Cassandra cluster to 1.1.2 version.

As the first upgrade process, I select one node from local development
Cassandra cluster (3 node 1.0.6 and RF=3) and execute the nodetool drain to
empty the memtables and commit logs. During the drain, that node receive
reads+writes from external java client (which uses hector 1.0-5 client) and
immediately I am receiving a hector connection failure errors when drain
starts. With the hector connection issues, the external client stops sending
writes and it's also fails. Below show how I build up the connection with
hector.

Cluster cluster = HFactory.getOrCreateCluster(test-dev-cluster,
10.1.161.60,10.1.161.61,10.1.161.62);
Keyspace keyspace = HFactory.createKeyspace(getKeyValue(KEYSPACE_NAME_KEY),
cluster);

Other than the above 2 statements, I am passing any configuration to hector
to build up the connections. 

What I noticed is, every time hector uses zero element from the server list
url and still try to connect to the same server, if it fails. 

Could someone help me to solve this hector fail over?

Thanks

/Roshan 
 





--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-Hector-failover-load-balancing-not-as-expected-with-version-1-0-5-tp7581380.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Concerns about Cassandra upgrade from 1.0.6 to 1.1.X

2012-07-12 Thread Roshan
Thanks Aaron. My major concern is upgrade node by node. Because currently we
are using 1.0.6 in production and plan is to upgrade singe node to 1.1.2 at
a time.

Any comments?

Thanks.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Concerns-about-Cassandra-upgrade-from-1-0-6-to-1-1-X-tp7581197p7581221.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Concerns about Cassandra upgrade from 1.0.6 to 1.1.X

2012-07-11 Thread Roshan
Hello

Currently we are using Cassandra 1.0.6 in our production system but suffer
with the CASSANDRA-3616 (it is already fixed in 1.0.7 version).

We thought to upgrade the Cassandra to 1.1.X versions, to get it's new
features, but having some concerns about the upgrade and expert advices are
mostly welcome.

1. Can Cassandra 1.1.X identify 1.0.X configurations like SSTables, commit
logs, etc without ant issue? And vise versa. Because if something happens to
1.1.X after deployed to production, we want to downgrade to 1.0.6 version
(because that's the versions we tested with our applications). 

2. How do we need to do upgrade process?  Currently we have 3 node 1.0.6
cluster in production. Can we upgrade node by node? If we upgrade node by
node, will the other 1.0.6 nodes identify 1.1.X nodes without any issue?

Appreciate experts comments on this. Many Thanks.

/Roshan 

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Concerns-about-Cassandra-upgrade-from-1-0-6-to-1-1-X-tp7581197.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: which high level Java client

2012-06-27 Thread Roshan
Hello

We are using Hector and it perfectly matching to our case.

https://github.com/hector-client/hector

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/which-high-level-Java-client-tp7580842p7580844.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Cassandra 1.0.6 data flush query

2012-06-21 Thread Roshan
Hi

I am using Cassandra 1.0.6 version in our production system and noticed that
Cassandra flushing the data to SSTable and the file size is  10MB. With
under moderate write load, the Cassandra flushing lots of memtables with
small sizes. With this compaction doing lots of compactions.

O/S - Centos 64bit Sun Java 1.6_31
VM size - 2.4GB

Following parameters change on cassandra.yaml file.

flush_largest_memtables_at: 0.45 (reduce it from .75)
reduce_cache_sizes_at: 0.55 (reduce it from .85)
reduce_cache_capacity_to: 0.3 (reduce it from .6)
concurrent_compactors: 1
memtable_total_space_in_mb: 200 
in_memory_compaction_limit_in_mb: 16 (from 64MB)
Key cache = 1
Row cache = 0
Could someone please help me on this.

Thanks
/Roshan
  

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-1-0-6-data-flush-query-tp7580733.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Subscribe

2012-06-12 Thread Roshan Dawrani
On Tue, Jun 12, 2012 at 8:56 PM, Jayesh Thakrar j_thak...@yahoo.com wrote:

 Subscribe


Attempt unsuccessful,

** Was expecting a voice-command in mp3 format **


Re: Cassandra upgrade from 0.8.1 to 1.1.0

2012-06-03 Thread Roshan
Hi

Hope this will help to you.

http://www.datastax.com/docs/1.0/install/upgrading
http://www.datastax.com/docs/1.1/install/upgrading

Thanks.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-upgrade-from-0-8-1-to-1-1-0-tp7580198p7580210.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra 0.8.5: Column name mystery in create column family command

2012-05-23 Thread Roshan Dawrani
On Wed, May 23, 2012 at 3:07 PM, aaron morton aa...@thelastpickle.comwrote:

 When you say

  comparator=BytesType


 You are telling cassandra that the column names in the CF's are just
 bytes. But when you create the column meta data you are specifying the
 column names as strings.

 use UTF8Type as the comparator.


Hi,

I get that now (after Samal's reply in this thread). My question is that I
have at leats 4-5 similar CFs where I earlier used BytesType comparator and
similar column names in column metadata and they all got the column names
right in the Cassandra schema changes done.

Why am I seeing the error only now with this particular CF?

Cheers,
Roshan


Cassandra 0.8.5: Column name mystery in create column family command

2012-05-22 Thread Roshan Dawrani
Hi,

I use Cassandra 0.8.5 and am suddenly noticing some strange behavior. I run
a create column family command with some column meta-data and it runs
fine, but when I do describe keyspace, it shows me different column names
for those index columns.

a) Here is what I run:
create column family UserTemplate with comparator=BytesType and
column_metadata=[{*column_name: userid*, validation_class: UTF8Type,
index_type: KEYS, index_name: TemplateUserIdIdx}, {*column_name: type*,
validation_class: UTF8Type, index_type: KEYS, index_name:
TemplateTypeIdx}];

b) This is what describe keyspace shows:
ColumnFamily: UserTemplate
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  ...
  ...
  Built indexes: [UserTemplate.TemplateTypeIdx,
UserTemplate.TemplateUserIdIdx]
  Column Metadata:
*Column Name: ff*
  Validation Class: org.apache.cassandra.db.marshal.UTF8Type
  Index Name: TemplateUserIdIdx
  Index Type: KEYS
*Column Name: 0dfffaff*
  Validation Class: org.apache.cassandra.db.marshal.UTF8Type
  Index Name: TemplateTypeIdx
  Index Type: KEYS

Does anyone see why this must be happening? I have created many such column
families before and never run into this issue.

-- 
Roshan
http://roshandawrani.wordpress.com/


Re: Cassandra 0.8.5: Column name mystery in create column family command

2012-05-22 Thread Roshan Dawrani
Can you please let me know why? Because I have created very similar column
familes many times with comparator = BytesType, and never run into this
issue before.

Here is an example:


ColumnFamily: Client
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.BytesType
  Columns sorted by: org.apache.cassandra.db.marshal.BytesType
  ...
  ...
  Built indexes: [Client.ACUserIdIdx]
  Column Metadata:
Column Name: userid (757365726964)
  Validation Class: org.apache.cassandra.db.marshal.LexicalUUIDType
  Index Name: ACUserIdIdx
  Index Type: KEYS


On Tue, May 22, 2012 at 6:16 PM, samal samalgo...@gmail.com wrote:

 Change your comparator to utf8type.
 On 22-May-2012 4:32 PM, Roshan Dawrani roshandawr...@gmail.com wrote:

 Hi,

 I use Cassandra 0.8.5 and am suddenly noticing some strange behavior. I
 run a create column family command with some column meta-data and it runs
 fine, but when I do describe keyspace, it shows me different column names
 for those index columns.

 a) Here is what I run:
 create column family UserTemplate with comparator=BytesType and
 column_metadata=[{*column_name: userid*, validation_class: UTF8Type,
 index_type: KEYS, index_name: TemplateUserIdIdx}, {*column_name: type*,
 validation_class: UTF8Type, index_type: KEYS, index_name:
 TemplateTypeIdx}];

 b) This is what describe keyspace shows:
 ColumnFamily: UserTemplate
   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
   ...
   ...
   Built indexes: [UserTemplate.TemplateTypeIdx,
 UserTemplate.TemplateUserIdIdx]
   Column Metadata:
 *Column Name: ff*
   Validation Class: org.apache.cassandra.db.marshal.UTF8Type
   Index Name: TemplateUserIdIdx
   Index Type: KEYS
 *Column Name: 0dfffaff*
   Validation Class: org.apache.cassandra.db.marshal.UTF8Type
   Index Name: TemplateTypeIdx
   Index Type: KEYS

 Does anyone see why this must be happening? I have created many such
 column families before and never run into this issue.

 --
 Roshan
 http://roshandawrani.wordpress.com/




-- 
Roshan
http://roshandawrani.wordpress.com/


Cassandra 1.0.6 multi data center read question

2012-05-17 Thread Roshan
Hi 

I have setup an Cassandra cluster in production and a separate cluster in
our DR environment. The setup is basically 2 data center setup.

I want to create a separate keyspace on production (production has some
other keyspaces) and only that keyspace will sync the data with DR.

If I do a read operation on the production, will that read operation goes to
DR as well? If so can I disable that call?

My primary purpose is to keep the DR upto date and won't to communicate the
production with DR.

Thanks.

/Roshan 

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-1-0-6-multi-data-center-read-question-tp7564940.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra backup queston regarding commitlogs

2012-05-01 Thread Roshan
Many thanks Aaron. I will post a support issue for them. But will keep the
snapshot + incremental backups + commitlogs to recover any failure
situation.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-backup-queston-regarding-commitlogs-tp7508823p7518866.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra backup queston regarding commitlogs

2012-04-30 Thread Roshan
Hi Aaron

Thanks for the comments. Yes for the durability will keep them in a safe
place. But such crash situation, how can I restore the data (because those
are not in a SSTable and only in commit log). 

Do I need to replay only that commit log when server starts after crash?
Will it override the same keys with values?

Appreciate your reply on this.

Kind Regards

/Roshan

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/deleted-tp7508823p7512499.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra backup queston regarding commitlogs

2012-04-30 Thread Roshan
Many Thanks Aaron. 

According to the datastax restore documentation, they ask to remove the
commitlogs before restoring (Clear all files the
/var/lib/cassandra/commitlog (by default)). 

In that case better not to follow this step in a server rash situation.

Thanks

/Roshan 

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-backup-queston-regarding-commitlogs-tp7508823p7515217.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra backup queston regarding commitlogs

2012-04-29 Thread Roshan
Tamar

Please don't jump to other users discussions. If you want to ask any issue,
create a new one, please.

Thanks. 


--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-backup-question-regarding-commitlogs-tp7508823p7511913.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Cassandra backup question regarding commitlogs

2012-04-29 Thread Roshan
Hi

Currently I am taking daily snapshot on my keyspace in production and
already enable the incremental backups as well.

According to the documentation, the incremental backup option will create an
hard-link to the backup folder when new sstable is flushed. Snapshot will
copy all the data/index/etc. files to a new folder.

Question:
What will happen (with enabling the incremental backup) when crash (due to
any reason) the Cassandra before flushing the data as a SSTable (inserted
data still in commitlog). In this case how can I backup/restore data?

Do I need to backup the commitlogs as well and and replay during the server
start to restore the data in commitlog files?

Thanks. 

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-backup-question-regarding-commitlogs-tp7511918.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Cassandra backup queston regarding commitlogs

2012-04-28 Thread Roshan
Hi

Currently I am taking daily snapshot on my keyspace in production and
already enable the incremental backups as well.

According to the documentation, the incremental backup option will create an
hard-link to the backup folder when new sstable is flushed. Snapshot will
copy all the data/index/etc. files to a new folder.

*Question:*
What will happen (with enabling the incremental backup) when crash (due to
any reason) the Cassandra before flushing the data as a SSTable (inserted
data still in commitlog). In this case how can I backup/restore data?

Do I need to backup the commitlogs as well and and replay during the server
start to restore the data in commitlog files?

Thanks.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-backup-queston-regarding-commitlogs-tp7508823.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Cassndra 1.0.6 GC query

2012-02-27 Thread Roshan
Hi Experts

After getting an OOM error in production, I reduce the
-XX:CMSInitiatingOccupancyFraction to .45 (from .75) and
flush_largest_memtables_at to .45 (from .75). But still I am get an warning
message in production for the same Cassandra node regarding OOM. Also reduce
the concurrent compactions to one.

2012-02-27 08:01:12,913 WARN  [GCInspector] Heap is 0.45604122065696395
full.  You may need to reduce memtable and/or cache sizes.  Cassandra will
now flush up to the two largest memtables to free up memory.  Adjust
flush_largest_memtables_at threshold in cassandra.yaml if you don't want
Cassandra to do this automatically
2012-02-27 08:01:12,913 WARN  [StorageService] Flushing
CFS(Keyspace='WCache', ColumnFamily='WStandard') to relieve memory pressure

Could someone please explain why still I am getting GC warnings like above.
Many thanks.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassndra-1-0-6-GC-query-tp7323457p7323457.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassndra 1.0.6 GC query

2012-02-27 Thread Roshan
As a configuration issue, I haven't enable the heap dump directory. 

Is there another way to find the cause to this and identify possible
configuration changes?

Thanks.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassndra-1-0-6-GC-query-tp7323457p7323690.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Best suitable value for flush_largest_memtables_at

2012-02-23 Thread Roshan
Thanks Aaron for the indormation.

I increased the VM size to 2.4G from 1.4G. Please check my current CF in
below.

Keyspace: WCache:
  Replication Strategy: org.apache.cassandra.locator.SimpleStrategy
  Durable Writes: true
Options: [replication_factor:3]
  Column Families:
ColumnFamily: WStandard
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator:
org.apache.cassandra.db.marshal.BytesType
  Columns sorted by: org.apache.cassandra.db.marshal.BytesType
  Row cache size / save period in seconds / keys to save : 1000.0/0/all
  Row Cache Provider:
org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider
  Key cache size / save period in seconds: 21.0/3600
  GC grace seconds: 3600
  Compaction min/max thresholds: 4/32
  Read repair chance: 1.0
  Replicate on write: true
  Built indexes: []
  Compaction Strategy:
org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy

I have already done the below configuration changes after getting the OOM.

/app/Cassandra/conf/cassandra-env.sh

JVM_OPTS -XX:CMSInitiatingOccupancyFraction=45 (reduce it from 75)

/app/Cassandra/conf/Cassandra.yaml

flush_largest_memtables_at: 0.45 (reduce it from .75)
reduce_cache_sizes_at: 0.55 (reduce it from .85)
reduce_cache_capacity_to: 0.3 (reduce it from .6)
concurrent_compactors: 1

I will also apply the configuration you suggest in locally first then to
production. Appreciate your comments regarding this. Thanks. 

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Best-suitable-value-for-flush-largest-memtables-at-tp7310767p7313260.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Best suitable value for flush_largest_memtables_at

2012-02-22 Thread Roshan Pradeep
Hi Experts

Under massive write load what would be the best value for Cassandra *
flush_largest_memtables_at* setting? Yesterday I got an OOM exception in
one of our production Cassandra node under heavy write load within 5 minute
duration.

I change the above setting value to .45 and also change the
-XX:CMSInitiatingOccupancyFraction=45 in cassandra-env.sh file.

Previously the *flush_largest_memtables_at *was .75 and commit logs are
flush to SSTables and the size around 40MB. But with the change (reducing
it to .45) the flushed SStable size is 90MB.

Could someone please explain my configuration change will help under heavy
write load?

Thanks.


CQL query issue when fetching data from Cassandra

2012-02-15 Thread Roshan
Hi

I am using Cassandra 1.0.6 version and having one column family in my
keyspace.

create column family TestCF
with comparator = UTF8Type
and column_metadata = [
{column_name : userid,
validation_class : BytesType,
index_name : userid_idx,
index_type : KEYS},
{column_name : workspace,
validation_class : BytesType,
index_name : wp_idx,
index_type : KEYS},
{column_name : module,
validation_class : BytesType,
index_name : module_idx,
index_type : KEYS},
{column_name : action,
validation_class : BytesType,
index_name : action_idx,
index_type : KEYS},
{column_name : description,
validation_class : BytesType},
{column_name : status,
validation_class : BytesType,
index_name : status_idx,
index_type : KEYS},
{column_name : createdtime,
validation_class : BytesType},
{column_name : created,
validation_class : BytesType,
index_name : created_idx,
index_type : KEYS},
{column_name : logdetail,
validation_class : BytesType}]
and keys_cached = 1
and rows_cached = 1000
and row_cache_save_period = 0
and key_cache_save_period = 3600
and memtable_throughput = 255
and memtable_operations = 0.29;

1). The IN operator is not working
 SELECT * FROM TestCF WHERE status IN ('Failed', 'Success')
2) The OR operator is not fetching data.
SELECT * FROM TestCF WHERE status='Failed' OR status='Success'
3) If I use AND operator, it also not sending data. Query doesn't have
issues, but result set is null.
SELECT * FROM TestCF WHERE status='Failed' AND status='Success'
4) Is there any thing similar to LIKE in CQL? I want to search data based
on some part of string.

Could someone please help me to solve the above issues? Thanks.



--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-query-issue-when-fetching-data-from-Cassandra-tp7290072p7290072.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Got fatal exception after upgrade to 1.0.7 from 1.0.6

2012-02-14 Thread Roshan
Issue seems related to https://issues.apache.org/jira/browse/CASSANDRA-3677
or exactly same. 

I am happy to create another if this is different. Please confirm.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Got-fatal-exception-after-upgrade-to-1-0-7-from-1-0-6-tp7282462p7285811.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Got fatal exception after upgrade to 1.0.7 from 1.0.6

2012-02-13 Thread Roshan
Hi

I got the below exception to the system.log after upgrade to 1.0.7 from
1.0.6 version. I am using the same configuration files which I used in 1.0.6
version.

2012-02-14 10:48:12,379 ERROR [AbstractCassandraDaemon] Fatal exception in
thread Thread[OptionalTasks:1,5,main]
java.lang.NullPointerException
at
org.cliffc.high_scale_lib.NonBlockingHashMap.hash(NonBlockingHashMap.java:113)
at
org.cliffc.high_scale_lib.NonBlockingHashMap.putIfMatch(NonBlockingHashMap.java:553)
at
org.cliffc.high_scale_lib.NonBlockingHashMap.putIfMatch(NonBlockingHashMap.java:348)
at
org.cliffc.high_scale_lib.NonBlockingHashMap.putIfAbsent(NonBlockingHashMap.java:319)
at
org.cliffc.high_scale_lib.NonBlockingHashSet.add(NonBlockingHashSet.java:32)
at
org.apache.cassandra.db.HintedHandOffManager.scheduleHintDelivery(HintedHandOffManager.java:409)
at
org.apache.cassandra.db.HintedHandOffManager.scheduleAllDeliveries(HintedHandOffManager.java:394)
at
org.apache.cassandra.db.HintedHandOffManager.access$000(HintedHandOffManager.java:84)
at
org.apache.cassandra.db.HintedHandOffManager$1.run(HintedHandOffManager.java:119)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Could someone please help me on this? Thanks.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Got-fatal-exception-after-upgrade-to-1-0-7-from-1-0-6-tp7282462p7282462.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Multiple data center nodetool ring output display 0% owns

2012-02-12 Thread Roshan
Hi

I have deployed Cassandra 1.0.6 to a 2 data center and one data center (DC1)
having one node and the other data center (DC2) having two nodes. But when I
do a nodetool ring using one IP, the output says 0% owns of DC1 node. Please
see the output below.

# sh nodetool -h 10.XXX.XXX.XX ring
Address DC  RackStatus State   LoadOwns   
Token   
  
85070591730234615865843651857942052864  
XXX.XXX.XXX.XXX DC2 RAC1Up Normal  83.89 KB   
50.00%  0   
YYY.YYY.YY.YYY  DC1 RAC1Up Normal  71.4 KB 0.00%  
1   
ZZ.ZZZ.ZZZ.ZZ   DC2 RAC1Up Normal  65.94 KB   
50.00%  85070591730234615865843651857942052864 

Could someone explain this behavior.  

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Multiple-data-center-nodetool-ring-output-display-0-owns-tp7279122p7279122.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra 1.0.6 multi data center question

2012-02-09 Thread Roshan Pradeep
Thanks Peter for the replies.

Previously it was a typing mistake and it should be getting. I checked
the DC2 (with having replica 0) and noticed that there is no SSTables
created.

I use java hector sample program to insert data to the keyspace. After I
insert a data item, I
1) Login to one of node in DC having replica count 0 using cassanda-cli.
2) Use the keyspace and list the column family.
3) I can see the data item inserted from DC having replica count 1.

Is this a issue? Please clarify. Thanks again.


On Thu, Feb 9, 2012 at 6:00 PM, Peter Schuller
peter.schul...@infidyne.comwrote:

 Again the *schema* gets propagated and the keyspace will exist
 everywhere. You should just have exactly zero amount of data for the
 keyspace in the DC w/o replicas.


 --
 / Peter Schuller (@scode, http://worldmodscode.wordpress.com)



Lots of 0 Bytes tmp Data/Index files remain in data folder

2012-02-09 Thread Roshan
I have deployed 2 node Cassandra 1.0.6 cluster in production and it running
almost t weeks without any issue. But I can see lots of (more than 90) 0
bytes tmp data and index files in the data directory. 

So far this is not a issue for me, but want to know why is that. Seems like
this data/index tmp files getting create with every compaction (but not
sure). 

Are there any relationship with this issue
https://issues.apache.org/jira/browse/CASSANDRA-3616 ?

Could someone please clarify this to me. Thanks. 

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Lots-of-0-Bytes-tmp-Data-Index-files-remain-in-data-folder-tp7271286p7271286.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Cassandra 1.0.6 multi data center question

2012-02-08 Thread Roshan
Hi All

I have 2 Cassandra data center (DC1=1 node, DC2=2 nodes).

XXX.XXX.XXX.XXX DC2 RAC1Up Normal  44.3 KB
33.33%  0   
YYY.YYY.YY.YYY  DC1 RAC1Up Normal  48.71 KB   
33.33%  56713727820156407428984779325531226112  
ZZ.ZZZ.ZZZ.ZZ   DC2 RAC1Up Normal  48.69 KB   
33.33%  113427455640312814857969558651062452224   

My requirement is want to create a keyspace and want to replicate within
only DC1. So that keyspace is not visible to the DC2. I have create a
keyspave like this:
CREATE KEYSPACE WCSDC WITH placement_strategy = 'NetworkTopologyStrategy'
AND strategy_options={DC1:1};

But when I create the above keyspace from DC1 using cassandra-cli, the
schema is updated all over the cluster and keyspave is created on DC2 as
well.

Could someone please help me to solve this issue. Thanks.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-1-0-6-multi-data-center-question-tp7268026p7268026.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra 1.0.6 multi data center question

2012-02-08 Thread Roshan
I have create the Keyspace like below, but the result is same. All the data
getting replicated to all over the cluster instead of DC1.

create keyspace WSDC
with placement_strategy =
'org.apache.cassandra.locator.NetworkTopologyStrategy' and strategy_options
= {DC1:1,DC2:0};

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-1-0-6-multi-data-center-question-tp7268026p7268138.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: Cassandra 1.0.6 multi data center question

2012-02-08 Thread Roshan
Thanks for the reply. But I can see the data setting inserted in DC1 in DC2.
So that means data also getting replicated to DC2. 

Want to know how to restrict this?

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Cassandra-1-0-6-multi-data-center-question-tp7268026p7268185.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: WARN [Memtable] live ratio

2012-02-07 Thread Roshan
It happens to me like this.

I have 2 node Cassandra cluster with one column space. No super columns.

Start server freshly (no commit logs, no SSTables, no saves caches,
basically nothing). Then write process starts (not much write load). See
what my log says:

2012-02-06 13:06:13,598 INFO  [Gossiper] InetAddress /10.1.161.68 is now UP
2012-02-06 13:06:13,598 INFO  [StorageService] Node /10.1.161.68 state jump
to normal
2012-02-06 13:06:13,601 INFO  [ColumnFamilyStore] Enqueuing flush of
Memtable-LocationInfo@403316091(35/43 serialized/live bytes, 1 ops)
2012-02-06 13:06:13,601 INFO  [Memtable] Writing
Memtable-LocationInfo@403316091(35/43 serialized/live bytes, 1 ops)
2012-02-06 13:06:13,603 INFO  [CassandraDaemon] Listening for thrift
clients...
2012-02-06 13:06:13,714 INFO  [Memtable] Completed flushing
/data/cassandradb/data/system/LocationInfo-hc-64-Data.db (89 bytes)
2012-02-06 13:06:58,985 INFO  [HintedHandOffManager] Started hinted handoff
for token: 113427455640312814857969558651062452224 with IP: /10.1.161.63
2012-02-06 13:06:58,986 INFO  [HintedHandOffManager] Finished hinted handoff
of 0 rows to endpoint /10.1.161.63
2012-02-06 13:07:26,324 INFO  [HintedHandOffManager] Started hinted handoff
for token: 56713727820156407428984779325531226112 with IP: /10.1.161.68
2012-02-06 13:07:26,325 INFO  [HintedHandOffManager] Finished hinted handoff
of 0 rows to endpoint /10.1.161.68
1112012-02-06 14:06:13,083 INFO  [AutoSavingCache] Saved
WhispirCache-WhispirStandard-KeyCache (186 items) in 28 ms
2012-02-06 14:24:45,579 WARN  [Memtable] setting live ratio to minimum
of 1.0 instead of 0.13675048407845158
2012-02-06 14:24:45,581 INFO  [Memtable] CFS(Keyspace='WhispirCache',
ColumnFamily='WhispirStandard') liveRatio is 1.0 (just-counted was 1.0). 
calculation took 137ms for 57 columns
2012-02-06 14:24:48,016 WARN  [Memtable] setting live ratio to minimum of
1.0 instead of 0.10823538589289985
2012-02-06 14:24:48,016 INFO  [Memtable] CFS(Keyspace='WhispirCache',
ColumnFamily='WhispirStandard') liveRatio is 1.0 (just-counted was 1.0). 
calculation took 46ms for 119 columns
2012-02-06 14:24:52,279 WARN  [Memtable] setting live ratio to minimum of
1.0 instead of 0.11414583341420956
2012-02-06 14:24:52,279 INFO  [Memtable] CFS(Keyspace='WhispirCache',
ColumnFamily='WhispirStandard') liveRatio is 1.0 (just-counted was 1.0). 
calculation took 78ms for 233 columns
2012-02-06 14:24:58,808 WARN  [Memtable] setting live ratio to minimum of
1.0 instead of 0.12002818405606677
2012-02-06 14:24:58,808 INFO  [Memtable] CFS(Keyspace='WhispirCache',
ColumnFamily='WhispirStandard') liveRatio is 1.0 (just-counted was 1.0). 
calculation took 24ms for 490 columns
2012-02-06 14:25:08,477 WARN  [Memtable] setting live ratio to minimum of
1.0 instead of 0.12033609444170106
2012-02-06 14:25:08,477 INFO  [Memtable] CFS(Keyspace='WhispirCache',
ColumnFamily='WhispirStandard') liveRatio is 1.0 (just-counted was 1.0). 
calculation took 75ms for 1001 columns
12012-02-06 14:28:28,284 WARN  [Memtable] setting live ratio to minimum of
1.0 instead of 0.11954297494496129
2012-02-06 14:28:28,284 INFO  [Memtable] CFS(Keyspace='WhispirCache',
ColumnFamily='WhispirStandard') liveRatio is 1.0 (just-counted was 1.0). 
calculation took 69ms for 1544 columns

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/WARN-Memtable-live-ratio-tp7238582p7264583.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: WARN [Memtable] live ratio

2012-01-31 Thread Roshan
Thanks for the explanation.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/WARN-Memtable-live-ratio-tp7238582p7242021.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: SSTable compaction issue in our system

2012-01-30 Thread Roshan Pradeep
Thanks Aaron for the perfect explanation. Decided to go with automatic
compaction. Thanks again.

On Wed, Jan 25, 2012 at 11:19 AM, aaron morton aa...@thelastpickle.comwrote:

 The issue with major / manual compaction is that it creates a one file.
 One big old file.

 That one file will not be compacted unless there are
 (min_compaction_threshold -1) other files of a similar size. So thombstones
 and overwrites in that file may not be purged for a long time.

 If you go down the manual compaction path you need to keep doing it.

 If you feel you need to do it do it, otherwise let automatic compaction do
 it's thing.
 Cheers


 -
 Aaron Morton
 Freelance Developer
 @aaronmorton
 http://www.thelastpickle.com

 On 25/01/2012, at 12:47 PM, Roshan wrote:

 Thanks for the reply. Is the major compaction not recommended for Cassandra
 1.0.6?

 --
 View this message in context:
 http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Different-size-of-SSTable-are-remain-in-the-system-without-compact-tp7218239p7222322.html
 Sent from the cassandra-u...@incubator.apache.org mailing list archive at
 Nabble.com.





WARN [Memtable] live ratio

2012-01-30 Thread Roshan
Hi All

Time to time I am seen this below warning in Cassandra logs.
WARN  [Memtable] setting live ratio to minimum of 1.0 instead of
0.21084217381985554

Not sure what the exact cause for this and the solution to eliminate this.
Any help is appreciated. Thanks.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/WARN-Memtable-live-ratio-tp7238582p7238582.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: WARN [Memtable] live ratio

2012-01-30 Thread Roshan
Exactly, I am also getting this when server moving idle to high load. May be
Cassandra Experts can help to us.

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/WARN-Memtable-live-ratio-tp7238582p7238603.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Re: How to speed up Waiting for schema agreement for a single node Cassandra cluster?

2011-10-04 Thread Roshan Dawrani
On Wed, Oct 5, 2011 at 7:42 AM, Jeremiah Jordan 
jeremiah.jor...@morningstar.com wrote:

 But truncate is still slow, especially if it can't use JNA (windows) as it
 snapshots.  Depending on how much data you are inserting during your unit
 tests, just paging through all the keys and then deleting them is the
 fastest way


Exactly the thing we also found out (and hence ditched truncate for DB
cleanup between tests):
http://roshandawrani.wordpress.com/2011/09/30/grails-cassandra-giving-each-test-a-clean-db-to-work-with/
.
Worked much better for us this way.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: [ANN] Usergrid, Open Source Mobile Data Platform built on Cassandra

2011-10-03 Thread Roshan Dawrani
This should be quite helpful as a reference. Thanks!

On Mon, Oct 3, 2011 at 9:03 PM, Ed Anuff e...@anuff.com wrote:

 I made mention of this during my presentation at the Cassandra Summit
 back in July, but we're finally ready to release the source for
 Usergrid.  This is a mobile platform stack built on top of Cassandra
 and using Hector and we're making the full source code available on
 GitHub.  We'll be offering it as a cloud service as well, but we
 wanted to follow the WordPress model of having both self-hosted and
 self-serve options.

 Usergrid provides a bunch of cool features like activity streams, user
 management, and counter-based analytics as well as providing a very
 high-level fully indexed JSON-based data model via a REST API, so that
 you can unlock a lot of the power of Cassandra directly from
 Javascript.  It's meant for mobile app developers who really want to
 just focus on their front-end development.  Particularly cool is the
 double-clickable launcher app that fires up an embedded Cassandra
 server and makes running all this on your desktop a piece of cake.

 Our blog is at: http://blog.usergrid.com

 The code is up at: http://github.com/usergrid/stack

 Documentation is at: http://usergrid.github.com/docs

 Main website is: http://www.usergrid.com

 There's a mailing list set up for discussion at:
 http://groups.google.com/group/usergrid-user

 It's still a work-in-progress and there's a lot in there that still
 needs to be documented.

 Hope you'll check it out and find it interesting.  Even if it's not
 something you'd have use of yourself, please forward this on to people
 you know who are trying to build data-rich mobile apps.

 Thanks

 Ed




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Performance degradation observed through embedded cassandra server - pointers needed

2011-09-30 Thread Roshan Dawrani
Hi,

For our Grails + Cassandra application's clean-DB-for-every-test needs, we
finally went back from using costly truncate calls to
range-scans-and-delete approach, and found such a great different between
the performance of the two approaches, that wrote a small blog post here
about it: Grails, Cassandra: Giving each test a clean DB to work
withhttp://roshandawrani.wordpress.com/2011/09/30/grails-cassandra-giving-each-test-a-clean-db-to-work-with/
For
someone in a similar situation, it may present an alternative.

Cheers.

On Fri, Sep 23, 2011 at 1:29 PM, Roshan Dawrani roshandawr...@gmail.comwrote:

 Thanks for sharing your inputs, Edward. Some comments inline below:

 On Thu, Sep 22, 2011 at 7:31 PM, Edward Capriolo edlinuxg...@gmail.comwrote:


 1) Should should try to dig in an determine why the truncate is slower.
 Look for related jira issues on truncation.


 I should give it a try. I thought I might get some readymade pointers from
 people already knowing about 0.7.2 / 0.8.5 differences on whether our
 approach to truncate every test has gone even worse due to some changes in
 that area.


 Cassandra had some re-entrant code you could fork a JVM each test and use
 the CassandraServiceDataCleaner. (However multiple startups could end up
 causing more overhead then the truncation)

 I avoid this problem by using a different column family and or a different
 keyspaces for all my unit tests in a single class. Each class bring up a new
 embedded cluster and uses the data cleaner to sanitize the data directories.
 So essentially I never call truncate.


 In both these approaches, won't I need to re-build the schema for every
 test too? Certainly in the 2nd case, if I end up creating new keyspace or
 different column families for each test. I am not sure what I will gain
 there in terms of performance. I was hoping data truncation leaving schema
 there would be faster than that.

 --
 Roshan
 Blog: http://roshandawrani.wordpress.com/
 Twitter: @roshandawrani http://twitter.com/roshandawrani
 Skype: roshandawrani




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Performance degradation observed through embedded cassandra server - pointers needed

2011-09-23 Thread Roshan Dawrani
Thanks for sharing your inputs, Edward. Some comments inline below:

On Thu, Sep 22, 2011 at 7:31 PM, Edward Capriolo edlinuxg...@gmail.comwrote:


 1) Should should try to dig in an determine why the truncate is slower.
 Look for related jira issues on truncation.


I should give it a try. I thought I might get some readymade pointers from
people already knowing about 0.7.2 / 0.8.5 differences on whether our
approach to truncate every test has gone even worse due to some changes in
that area.


 Cassandra had some re-entrant code you could fork a JVM each test and use
 the CassandraServiceDataCleaner. (However multiple startups could end up
 causing more overhead then the truncation)

 I avoid this problem by using a different column family and or a different
 keyspaces for all my unit tests in a single class. Each class bring up a new
 embedded cluster and uses the data cleaner to sanitize the data directories.
 So essentially I never call truncate.


In both these approaches, won't I need to re-build the schema for every test
too? Certainly in the 2nd case, if I end up creating new keyspace or
different column families for each test. I am not sure what I will gain
there in terms of performance. I was hoping data truncation leaving schema
there would be faster than that.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Performance degradation observed through embedded cassandra server - pointers needed

2011-09-22 Thread Roshan Dawrani
Hi,

We recently switched from Cassandra 0.7.2 to 0.8.5 and observing
considerable performance degradation in embedded server's response times
that we use in integration tests.

One thing that we do is that we truncate our app column families after each
integration test so that the next one gets a new DB slate (wierd? but with
RDBMS that we used earlier, we just rolled back the transaction to get rid
of changes done in an integration test. CF truncation is a costly workaround
for that, which we will be very happy to avoid if anyone knows some trick).

So, with the situation we are in, is anyone aware of any cassandra 0.8.5
cofiguration that can be tweaked to at least get the performance we were
getting with 0.7.2? Exactly after the upgrade, our test execution times have
gone up at least by 60-70%.

Some pointers please?

Thanks.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: segment fault with 0.8.5

2011-09-14 Thread Roshan Dawrani
On Wed, Sep 14, 2011 at 3:43 PM, Yan Chunlu springri...@gmail.com wrote:

 I also found that the format of configuration file cassandra.yaml is
 different, are they compatible?

Format of 0.8.5 cassandra.yaml is different from what? You didn't mention
what u r comparing it to.

I recently did migration of a simple cassandra DB from 0.7.0 to 0.8.5 and
found quite a few differences in structure of cassandra.yaml - the biggest
one that affected us was that cassandra.yaml couldn't hold the defintion
of a keyspace, which we used for embedded cassandra we bring up for testing.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Error in upgrading cassandra to 0.8.5

2011-09-13 Thread Roshan Dawrani
Hi,

I am in the process of upgrading Cassandra to the recently released v0.8.5
and facing an issue.

We had two Cassandra environments - one having 0.7.0 and another 0.7.2. The
upgrade on 0.7.2 has happened smoothly, but on the environment having 0.7.0,
when I make the switch, the DB fails to come up with the error below.

Can someone help please?

-
 INFO 13:03:46,025 JNA not found. Native methods will be disabled.
 INFO 13:03:46,034 Loading settings from
file:/apache-cassandra-0.8.5/conf/cassandra.yaml
 INFO 13:03:46,195 DiskAccessMode 'auto' determined to be mmap,
indexAccessMode is mmap
 ...
 INFO 13:03:46,307 Removing compacted SSTable files (see
http://wiki.apache.org/cassandra/MemtableSSTable)
 INFO 13:03:46,379 reading saved cache
/cassandra/saved_caches/system-IndexInfo-KeyCache
ERROR 13:03:46,380 Exception encountered during startup.
java.lang.NegativeArraySizeException
at
org.apache.cassandra.cache.AutoSavingCache.readSaved(AutoSavingCache.java:130)
at
org.apache.cassandra.db.ColumnFamilyStore.init(ColumnFamilyStore.java:273)
at
org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:465)
at
org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:435)
at org.apache.cassandra.db.Table.initCf(Table.java:369)
at org.apache.cassandra.db.Table.init(Table.java:306)
at org.apache.cassandra.db.Table.open(Table.java:111)
at
org.apache.cassandra.db.SystemTable.checkHealth(SystemTable.java:217)
at
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:154)
at
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:341)
at
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:97)
-

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Error in upgrading cassandra to 0.8.5

2011-09-13 Thread Roshan Dawrani
Hi.

Thanks for replying back. Just a quick cross-confirmation, if you don't
mind:

So, I can do the following without fearing any loss of data, etc?

* nodetool drain and bring down the 0.7.0 node (it's a one node setup that
I am upgrading)
* remove all files from saved_caches directory (both system*-KeyCache as
well as application-specific*-KeyCache files)
* bring up the new 0.8.5 node (pointing to same data and commitlog
directories)

The *KeyCache files can be removed safely in between, right?

Cheers.

On Tue, Sep 13, 2011 at 7:03 PM, Jonathan Ellis jbel...@gmail.com wrote:

 Just remove the row cache files.

 On Tue, Sep 13, 2011 at 8:23 AM, Roshan Dawrani roshandawr...@gmail.com
 wrote:
  Hi,
  I am in the process of upgrading Cassandra to the recently released
 v0.8.5
  and facing an issue.
  We had two Cassandra environments - one having 0.7.0 and another 0.7.2.
 The
  upgrade on 0.7.2 has happened smoothly, but on the environment having
 0.7.0,
  when I make the switch, the DB fails to come up with the error below.
  Can someone help please?
 
 -
   INFO 13:03:46,025 JNA not found. Native methods will be disabled.
   INFO 13:03:46,034 Loading settings from
  file:/apache-cassandra-0.8.5/conf/cassandra.yaml
   INFO 13:03:46,195 DiskAccessMode 'auto' determined to be mmap,
  indexAccessMode is mmap
   ...
   INFO 13:03:46,307 Removing compacted SSTable files (see
  http://wiki.apache.org/cassandra/MemtableSSTable)
   INFO 13:03:46,379 reading saved cache
  /cassandra/saved_caches/system-IndexInfo-KeyCache
  ERROR 13:03:46,380 Exception encountered during startup.
  java.lang.NegativeArraySizeException
  at
 
 org.apache.cassandra.cache.AutoSavingCache.readSaved(AutoSavingCache.java:130)
  at
 
 org.apache.cassandra.db.ColumnFamilyStore.init(ColumnFamilyStore.java:273)
  at
 
 org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:465)
  at
 
 org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:435)
  at org.apache.cassandra.db.Table.initCf(Table.java:369)
  at org.apache.cassandra.db.Table.init(Table.java:306)
  at org.apache.cassandra.db.Table.open(Table.java:111)
  at
  org.apache.cassandra.db.SystemTable.checkHealth(SystemTable.java:217)
  at
 
 org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:154)
  at
 
 org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:341)
  at
  org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:97)
 
 -
  --
  Roshan
  Blog: http://roshandawrani.wordpress.com/
  Twitter: @roshandawrani
  Skype: roshandawrani
 
 



 --
 Jonathan Ellis
 Project Chair, Apache Cassandra
 co-founder of DataStax, the source for professional Cassandra support
 http://www.datastax.com




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Error in upgrading cassandra to 0.8.5

2011-09-13 Thread Roshan Dawrani
On Tue, Sep 13, 2011 at 7:03 PM, Jonathan Ellis jbel...@gmail.com wrote:

 Just remove the row cache files.


Thanks a lot. The 0.8.5 Cassandra started just fine after getting rid of
those *KeyCache files.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Cassandra -f problem

2011-09-12 Thread Roshan Dawrani
Hi,

Do you have JAVA_HOME exported? If not, can you export it and retry?

Cheers.

On Tue, Sep 13, 2011 at 8:59 AM, Hernán Quevedo
alexandros.c@gmail.comwrote:

 Hi, Roshan. This is great support, amazing support; not used to it :)

 Thanks for the reply.

 Well I think java is installed correctly, I mean, the java -version command
 works on a terminal, so the PATH env variable is correctly set, right?
 I downloaded the JDK7 and put it on opt/java/ and then set the path.


 But, the eclipse icon says it can't find any JRE or JDK, which is weird
 because of what I said above... but... but... what else could it be?

 Thanks!


 On Sun, Sep 11, 2011 at 10:05 PM, Roshan Dawrani 
 roshandawr...@gmail.comwrote:

 Hi,

 Cassandra starts JVM as $JAVA -ea -cp $CLASSPATH

 Looks like $JAVA is coming is empty in your case, hence the error exec
 -ea not found.

 Do you not have java installed? Please install it and set JAVA_HOME
 appropriately and retry.

 Cheers.


 On Mon, Sep 12, 2011 at 8:23 AM, Hernán Quevedo 
 alexandros.c@gmail.com wrote:

 Hi, all.

 I´m new at this and haven´t been able to install cassandra in debian
 6. After uncompressing the tar and creating var/log and var/lib
 directories, the command bin/cassandra -f results in message exec:
 357 -ea not found preventing cassandra from run the process README
 file says it is suppose to start.

 Any help would be very appreciated.

 Thnx!




 --
 Roshan
 Blog: http://roshandawrani.wordpress.com/
 Twitter: @roshandawrani http://twitter.com/roshandawrani
 Skype: roshandawrani




 --
 Είναι η θέληση των Θεών.




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Cassandra -f problem

2011-09-11 Thread Roshan Dawrani
Hi,

Cassandra starts JVM as $JAVA -ea -cp $CLASSPATH

Looks like $JAVA is coming is empty in your case, hence the error exec -ea
not found.

Do you not have java installed? Please install it and set JAVA_HOME
appropriately and retry.

Cheers.

On Mon, Sep 12, 2011 at 8:23 AM, Hernán Quevedo
alexandros.c@gmail.comwrote:

 Hi, all.

 I´m new at this and haven´t been able to install cassandra in debian
 6. After uncompressing the tar and creating var/log and var/lib
 directories, the command bin/cassandra -f results in message exec:
 357 -ea not found preventing cassandra from run the process README
 file says it is suppose to start.

 Any help would be very appreciated.

 Thnx!




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: [RELEASE] Apache Cassandra 0.8.5 released

2011-09-08 Thread Roshan Dawrani
Hi,

Looking forward to having 0.8.5 artifacts available from maven repo too.

Cheers.

On Thu, Sep 8, 2011 at 5:45 PM, Sylvain Lebresne sylv...@datastax.comwrote:

 The Cassandra team is pleased to announce the release of Apache Cassandra
 version 0.8.5.

 Cassandra is a highly scalable second-generation distributed database,
 bringing together Dynamo's fully distributed design and Bigtable's
 ColumnFamily-based data model. You can read more here:

  http://cassandra.apache.org/

 Downloads of source and binary distributions are listed in our download
 section:

  http://cassandra.apache.org/download/

 This version is a maintenance/bug fix release[1]. Please pay attention to
 the
 release notes[2] before upgrading and let us know[3] if you were to
 encounter
 any problem.

 Have fun!


 [1]: http://goo.gl/A5YmF (CHANGES.txt)
 [2]: http://goo.gl/J5Iix (NEWS.txt)
 [3]: https://issues.apache.org/jira/browse/CASSANDRA




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Cassandra 0.8.4 - doesn't support defining keyspaces in cassandra.yaml?

2011-09-07 Thread Roshan Dawrani
On Wed, Sep 7, 2011 at 7:27 PM, Jonathan Ellis jbel...@gmail.com wrote:

 No, the load from yaml was only supported for upgrading from 0.6.
 You'd need to create the schema programatically instead.


Thanks for confirming. I am now creating my keyspace programmatically, but
running into another small cassandra issue with my embedded server.

In my embedded server setup, I use
cassandra-javautils's CassandraServiceDataCleaner to clean-up the data
directories, which in turn uses DatabaseDescriptor.getAllDataFileLocations()
to get various directories configured in cassandra.yaml.

Now the problem is that DatabaseDescriptor uses CassandraDaemon to do a
check on allowed rpc_server_types, which forces static initializer of its
parent AbstractCassandraDaemon to get executed. AbstractCassandraDaemon's
static initlializer fails if it does not find log4j-server.properties

Our is a Grails application, and log4j configuration is initialized in a
different way, and I do not want to feed embedded server a dummy
log4j.properties  file just to satisfy the chain above. Is there any way I
can avoid it?

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Any tentative data for 0.8.5 release?

2011-09-07 Thread Roshan Dawrani
Hi,

Quick check: is there a tentative date for release of Cassandra 0.8.5?

Thanks.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Any tentative data for 0.8.5 release?

2011-09-07 Thread Roshan Dawrani
On Wed, Sep 7, 2011 at 9:15 PM, Jeremy Hanna jeremy.hanna1...@gmail.comwrote:

 The voting started on Monday and is a 72 hour vote.  So if there aren't any
 problems that people find, it should be released sometime Thursday (7
 September).


Great.  Thanks for quick info. Looking forward to it.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Cassandra 0.8.4 - doesn't support defining keyspaces in cassandra.yaml?

2011-09-06 Thread Roshan Dawrani
Hi,

I have just started the process of upgrading Cassandra from 0.7.2 to 0.8.4,
and I am facing some issues with embedded cassandra that we utilize in our
application.

With 0.7.2, we define our keyspace in cassandra.yaml and use Hector to give
us an embedded cassandra instance loaded with schema from cassandra.yaml. Is
it not possible to do the same with Cassandra / Hector 0.8.x?

Can someone throw some light please?

Thanks.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Dropping a built in secondary index on a CF

2011-04-28 Thread Roshan Dawrani
On Thu, Apr 28, 2011 at 9:56 AM, Xaero S xaeros...@gmail.com wrote:


 You just need to use the update column family command on the cassandra-cli
 and specify the columns and their metadata. To get the metadata of the
 columns in the CF, you can do describe keyspace keyspacename. Keep in mind
 that, in your update CF command, the other columns that must continue to
 have the secondary index must be specified, otherwise, your data goes bad.


Thank you.


 Request the community to correct me if i am wrong.


I will just wait for a little confirmation if someone has tried it.

For these built-in secondary indexes, another Column Family is created
behind the scenes, isn't it? Will that be automatically dropped when I
update the column meta data to drop an index and keep others?

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Dropping a built in secondary index on a CF

2011-04-27 Thread Roshan Dawrani
Hi,

Can someone please tell me how I can drop a built in secondary index on a
column family attribute?

I don't see any direct command to do that in the CLI help.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


How to change the seed node used to discover other nodes in the ring?

2011-04-21 Thread Roshan Dawrani
Hi,

In our Cassandra/Hector environment, we are trying to turn the
auto-discovery of nodes in the ring on. We have created the DB using the
following default in cassandra.yaml
===
# Addresses of hosts that are deemed contact points.
# Cassandra nodes use this list of hosts to find each other and learn
# the topology of the ring.  You must change this if you are running
# multiple nodes!
seeds:
- 127.0.0.1
===

We don't want 127.0.0.1 to be used as the seed node. Our single node is
setup elsewhere right now.

Changing it in cassandra.yaml is not taking any immediate effect?

Even after changing it in cassandra.yaml, describe cluster continues to show
 b2844cbc-5c62-11e0-9166-e700f669bcfc: [127.0.0.1]

Does this configuration get stored in some system table? How can I change it
now? Through JMX? Some specific command?

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: How to change the seed node used to discover other nodes in the ring?

2011-04-21 Thread Roshan Dawrani
On Thu, Apr 21, 2011 at 9:10 PM, Nate McCall n...@datastax.com wrote:

 Roshan,
 See https://issues.apache.org/jira/browse/CASSANDRA-1777 for more details.


Hi...I am not sure I fully understand the current state of auto-discovery of
nodes.

The impression I am getting looking at the issue details is that
auto-discovery is not in a usable state and it's better to list the
host/ports (since Hector '0.7.0-28' seems to be auto-discovering nodes using
describe_ring). Is that right?


Re: How to change the seed node used to discover other nodes in the ring?

2011-04-21 Thread Roshan Dawrani
On Thu, Apr 21, 2011 at 9:30 PM, Nate McCall n...@datastax.com wrote:

 It will work as long as thrift and gossip are bound to the same
 interface. The discovery server in Hector also uses the
 CassandraHostConfigurator#getPort for the port in constructing the
 host URL.


Can you please elaborate a little in terms of cassandra.yaml settings so I
can check whether thrift and gossip are bound to the same interface in my
case or not?

Here are what I think are the relevant settings:

rpc_address: 0.0.0.0

rpc_port: 9160

# Addresses of hosts that are deemed contact points.
# Cassandra nodes use this list of hosts to find each other and learn
# the topology of the ring.  You must change this if you are running
# multiple nodes!
seeds:
- name of the host our single DB node runs right now



Any way to get different unique time UUIDs for the same time value?

2011-03-30 Thread Roshan Dawrani
Hi,

Is there any way I can get multiple unique time UUIDs for the same timestamp
value - I mean, the UUIDs that are same in their time (most significant
bits), but differ in their least significant bits?

The least significant bits added by *
me.prettyprint.cassandra.utils.TimeUUIDUtils* seem to be a *fixed* value
based on mac/ip address, which makes sure that I get the same UUID for a
timestamp value, everytime I ask.

I need the (timestamp): some value kind of columns that need to be
sorted by time, and I wanted to use TimeUUID to use column sorting that
comes out-of-the-box, but the problem is that I can get multiple values for
the same timestamp.

So, I am looking for some way where the time portion is same, but the other
UUID half is different so that I can safely store 1 time UUID: 1 value.

Any help there is appreciated.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


mutator.execute() timings - big variance noted - pointers needed on understanding/improving it

2011-03-10 Thread Roshan Dawrani
Hi,

I am in the middle of some load testing on a 1-node Cassandra setup. We are
not on very high loads yet. We have recorded the timings taken up by
mutator.execute() calls and we see this kind of variation during the test
run:

So, 25% of the times, execute() calls come back in 25 milli-seconds, but the
longer calls go upto 4 seconds.

Can someone please provide some pointers on what and where to focus on in my
Hector / Cassandra setup? We are mostly on the default Cassandra
configuration at this time - only change is the max connection pool size
(CassandraHostConfigurator.maxActive) is changed to 300 from a default of
50.

I would also like to add that the time increase is not linear - it starts
fast, goes, slow, very slow, and becomes faster again.


  25% 29
  50%105
  66%185
  70%208
  75%240
  80%297
  90%510
  95%854
  98%   1075
  99%   1215
 100%   4442


-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: mutator.execute() timings - big variance noted - pointers needed on understanding/improving it

2011-03-10 Thread Roshan Dawrani
Hi All,

Thanks for the inputs. I will start investigating this morning with the help
of these.

Regards,
Roshan

On Fri, Mar 11, 2011 at 2:49 AM, aaron morton aa...@thelastpickle.comwrote:

 http://wiki.apache.org/cassandra/FAQ#slows_down_after_lotso_inserts

 http://wiki.apache.org/cassandra/FAQ#slows_down_after_lotso_insertsAaron

 On 11 Mar 2011, at 05:08, sridhar basam wrote:


 Sounds like GC from your description of fast-slow-fast. Collect GC times
 from both the client and server side and plot against your application
 timing.

  If you uncomment the verbose GC entries in the cassandra-env.sh file you
 should get timing for the server side, pass in the same arguments for your
 client. Align time across the 3 files and plot to see if GC is the cause.

  Sridhar



 On Thu, Mar 10, 2011 at 9:30 AM, Roshan Dawrani 
 roshandawr...@gmail.comwrote:

 Hi,

 I am in the middle of some load testing on a 1-node Cassandra setup. We
 are not on very high loads yet. We have recorded the timings taken up by
 mutator.execute() calls and we see this kind of variation during the test
 run:

 So, 25% of the times, execute() calls come back in 25 milli-seconds, but
 the longer calls go upto 4 seconds.

 Can someone please provide some pointers on what and where to focus on in
 my Hector / Cassandra setup? We are mostly on the default Cassandra
 configuration at this time - only change is the max connection pool size
 (CassandraHostConfigurator.maxActive) is changed to 300 from a default of
 50.

 I would also like to add that the time increase is not linear - it starts
 fast, goes, slow, very slow, and becomes faster again.

 
   25% 29
   50%105
   66%185
   70%208
   75%240
   80%297
   90%510
   95%854
   98%   1075
   99%   1215
  100%   4442
 

 --
 Roshan
 Blog: http://roshandawrani.wordpress.com/
 Twitter: @roshandawrani http://twitter.com/roshandawrani
 Skype: roshandawrani






Re: cant seem to figure out secondary index definition

2011-03-06 Thread Roshan Dawrani
Hi,

Sure. Here is a sample of how we define it at the end of cassandra.yaml.

In the keyspace MyApp, it defines a column family MyUser, that has secondary
indexes on 2 String columns - firstname, and lastname.

Does it help?

--
keyspaces:
- name: MyApp
  replica_placement_strategy:
org.apache.cassandra.locator.SimpleStrategy
  replication_factor: 1
  column_families:
- name: MyUser
  compare_with: org.apache.cassandra.db.marshal.BytesType
  column_metadata:
- name: firstname
  validator_class: UTF8Type
  index_type: KEYS
  index_name: FirstNameIdx
- name: firstname
  validator_class: UTF8Type
  index_type: KEYS
  index_name: LastNameIdx
--

Regards,
Roshan

On Sun, Mar 6, 2011 at 4:34 PM, Jürgen Link juergen.l...@googlemail.comwrote:

  Hi Roshan,
 could you please post a small sample from your yaml file?
 As documentation of indexes is quite sparse, we're grateful for any working
 example.

 Cheers
 Jürgen

 Am 04.03.2011 19:27, schrieb Roshan Dawrani:

 On Fri, Mar 4, 2011 at 11:52 PM, Jürgen Link 
 juergen.l...@googlemail.comwrote:

 Hi Jonathan,
 as Roland is already out of office, I'd like to jump in.
 Maybe this somehow got lost in the moddle of this thread, indexing works
 fine in our real cassandra cluster.
 For our test cases, we use an embedded cassandra instance, which is
 configured via yaml.
 In case indexes cannot be defined via yaml (for embedded instances), is
 there a more preferred way to do so?


  Sorry, I haven't followed the whole of this thread yet, but I just
 noticed this mail and would like to add that we also use embedded Cassandra
 instance for our dev / tests and out yaml has a number of indexes and they
 work just fine. We are on Cassandar 0.7.0.






Re: cant seem to figure out secondary index definition

2011-03-06 Thread Roshan Dawrani
On Sun, Mar 6, 2011 at 4:54 PM, Roshan Dawrani roshandawr...@gmail.comwrote:



 --
 keyspaces:
 - name: firstname
   validator_class: UTF8Type
   index_type: KEYS
   index_name: LastNameIdx


Please correct a typo and change the name for the 2nd column to lastname in
the sample. :-)


Re: cant seem to figure out secondary index definition

2011-03-04 Thread Roshan Dawrani
On Fri, Mar 4, 2011 at 11:52 PM, Jürgen Link juergen.l...@googlemail.comwrote:

 Hi Jonathan,
 as Roland is already out of office, I'd like to jump in.
 Maybe this somehow got lost in the moddle of this thread, indexing works
 fine in our real cassandra cluster.
 For our test cases, we use an embedded cassandra instance, which is
 configured via yaml.
 In case indexes cannot be defined via yaml (for embedded instances), is
 there a more preferred way to do so?


Sorry, I haven't followed the whole of this thread yet, but I just noticed
this mail and would like to add that we also use embedded Cassandra instance
for our dev / tests and out yaml has a number of indexes and they work just
fine. We are on Cassandar 0.7.0.


Re: Is it possible to get list of row keys?

2011-02-23 Thread Roshan Dawrani
On Wed, Feb 23, 2011 at 7:17 PM, Ching-Cheng Chen cc...@evidentsoftware.com
 wrote:

 Actually, if you want to get ALL keys, I believe you can still use
 RangeSliceQuery with RP.

 Just use setKeys(,) as first batch call.

 Then use the last key from previous batch as startKey for next batch.
 Beware that since startKey is inclusive, so you'd need to ignore first key
 from now on.

 Keep going until you finish all batches.  You will know you'd need to stop
 when setKeys(key_xyz,) return you only one key.


This is what I meant to suggest when I earlier said So, if you want all,
you will need to keep paging forward and collecting the keys. :-)


Re: Is it possible to get list of row keys?

2011-02-23 Thread Roshan Dawrani
Yes. But I don't think the retrieving keys in the right order was part of
the original question. :-)

On Wed, Feb 23, 2011 at 7:50 PM, Norman Maurer nor...@apache.org wrote:

 yes but be aware that the keys will not in the right order.

 Bye,
 Norman

 2011/2/23 Roshan Dawrani roshandawr...@gmail.com:
  On Wed, Feb 23, 2011 at 7:17 PM, Ching-Cheng Chen
  cc...@evidentsoftware.com wrote:
 
  Actually, if you want to get ALL keys, I believe you can still use
  RangeSliceQuery with RP.
  Just use setKeys(,) as first batch call.
  Then use the last key from previous batch as startKey for next batch.
  Beware that since startKey is inclusive, so you'd need to ignore first
 key
  from now on.
  Keep going until you finish all batches.  You will know you'd need to
 stop
  when setKeys(key_xyz,) return you only one key.
 
  This is what I meant to suggest when I earlier said So, if you want all,
  you will need to keep paging forward and collecting the keys. :-)



Re: Is it possible to get list of row keys?

2011-02-23 Thread Roshan Dawrani
On Thu, Feb 24, 2011 at 6:54 AM, Joshua Partogi joshua.j...@gmail.comwrote:


 I am sorry for not making it clear in my original
 post that what I am looking for is the list of keys in the database
 assuming that the client application does not know the keys. From what
 I understand, RangeSliceQuery requires you to pass the startKey, which
 means the client application have to know beforehand the key that will
 be used as startkey.


I think it was quite clear anyway that your client app does not know any
specific keys, and you don't have to pass an existing key as the start / end
key.

You can pass start and end keys as empty values with setRowCount() left to
default of 100 or another specific value that u want. After that first
batch, you have to pick-up the last key of the batch and make that as the
start key of the next batch query, and keep moving along like that (as
described previously in this thread)

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Is it possible to get list of row keys?

2011-02-22 Thread Roshan Dawrani
Does it help:
https://github.com/rantav/hector/blob/master/core/src/test/java/me/prettyprint/cassandra/model/RangeSlicesQueryTest.java

https://github.com/rantav/hector/blob/master/core/src/test/java/me/prettyprint/cassandra/model/RangeSlicesQueryTest.javaIt
uses setReturnKeysOnly()...

Same for index queries in:
https://github.com/rantav/hector/blob/master/core/src/test/java/me/prettyprint/cassandra/model/IndexedSlicesQueryTest.java

I think it will not return all keys from the ColumnFamily at one shot (as
with rows)

So, if you want all, you will need to keep paging forward and collecting the
keys.

On Wed, Feb 23, 2011 at 12:41 PM, Joshua Partogi joshua.j...@gmail.comwrote:

 Hi,

 Assuming the application does not know the list of keys that is stored
 inside cassandra, how would it be possible to get list of row keys?
 This list of row keys is going to be used to get a range of slices.

 Thank you for your help.

 --
 http://twitter.com/jpartogi




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Updating/inserting into multiple column families using one mutator batch

2011-02-17 Thread Roshan Dawrani
Hi,

Is it ok to update / insert into multiple column families (some regular,
some related super column families) using in one batch?

I earlier had a few separates mutator.execute() calls hitting these CFs, but
I am trying to merge them into a bigger batch.

The issue I am facing is that the smaller batches used to get executed
perfectly, but with the combined one, the updates just hang !

I am not pin-pointing the issue anywhere at this time. I just want to know
if it is normal to update multiple CFs in a batch and if there is deadlock
situation that may arise if that is done.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Updating/inserting into multiple column families using one mutator batch

2011-02-17 Thread Roshan Dawrani
Hi,

Thanks for replying.

I have kept an eye on the Cassandra logs as well as my app server logs, and
I didn't notice any unusual hector/casandra messages there.

Where can I configure to see cassandra logs in debug mode?

I am pretty sure I haven't touched the 500 mutations in a batch yet. What
could be other possibilities for it hanging? It's happening absolutely
consistently.

rgds,
Roshan

On Fri, Feb 18, 2011 at 1:50 AM, Nate McCall n...@datastax.com wrote:

 It is fine to use multiple coumn families via batch_mutate. The size
 of the batch itself will take some tunning. In what you are describing
 below, it will help watch the cassandra logs in debug mode to diagnose
 the issue.

 In general though, I think a good rule with batch_mutate is to start
 with 500 mutations (regardless of column families) and go up
 incrementally from there watching the logs and ideally memory
 consumption as you go.

 On Thu, Feb 17, 2011 at 2:11 PM, Roshan Dawrani roshandawr...@gmail.com
 wrote:
  Hi,
  Is it ok to update / insert into multiple column families (some regular,
  some related super column families) using in one batch?
 
  I earlier had a few separates mutator.execute() calls hitting these CFs,
 but
  I am trying to merge them into a bigger batch.
  The issue I am facing is that the smaller batches used to get executed
  perfectly, but with the combined one, the updates just hang !
  I am not pin-pointing the issue anywhere at this time. I just want to
 know
  if it is normal to update multiple CFs in a batch and if there is
 deadlock
  situation that may arise if that is done.
  --
  Roshan
  Blog: http://roshandawrani.wordpress.com/
  Twitter: @roshandawrani
  Skype: roshandawrani
 
 



Re: indexedslicesQuery class error

2011-02-16 Thread Roshan Dawrani
That's because in createIndexedSlicesQuery(), you have used SS as the
valueSerializer, and then in addGtExpression(birth_date, 1970L), you pass
a long as the value.

@see:
https://groups.google.com/group/hector-users/browse_thread/thread/520c5332dedfca4a

2011/2/17 Raoyixuan (Shandy) raoyix...@huawei.com

  I do the range query  by the hector client when the state and birht_date
 columns are both indexed, it show the error:



 The method addGtExpression(String,String) in the type
 IndexedSlicesQueryString,String,String is not applicable for the
 arguments(String,long)



 The code is as below:



 StringSerializer ss = StringSerializer.get();
 IndexedSlicesQueryString, String, String indexedSlicesQuery =
 HFactory.createIndexedSlicesQuery(keyspace, ss, ss, ss);
 indexedSlicesQuery.setColumnNames(full_name, birth_date, state);
 indexedSlicesQuery.addGtExpression(birth_date, 1970L);
 indexedSlicesQuery.addEqualsExpression(state, UT);
 indexedSlicesQuery.setColumnFamily(users);
 indexedSlicesQuery.setStartKey();
 QueryResultOrderedRowsString, String, String result =
 indexedSlicesQuery.execute();



 华为技术有限公司 Huawei Technologies Co., Ltd.[image: Company_logo]








 Email: raoyix...@huawei.com
 地址:深圳市龙岗区坂田华为基地 邮编:518129
 Huawei Technologies Co., Ltd.
 Bantian, Longgang District,Shenzhen 518129, P.R.China
 http://www.huawei.com
  --

 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁
 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中
 的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
 This e-mail and its attachments contain confidential information from
 HUAWEI, which
 is intended only for the person or entity whose address is listed above.
 Any use of the
 information contained herein in any way (including, but not limited to,
 total or partial
 disclosure, reproduction, or dissemination) by persons other than the
 intended
 recipient(s) is prohibited. If you receive this e-mail in error, please
 notify the sender by
 phone or email immediately and delete it!






-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani
image001.jpg

Re: indexedslicesQuery class error

2011-02-16 Thread Roshan Dawrani
addGtEqual???

You are still making the same mistake.

You are now saying that your values are going to be long (by passing LS as
the valueSerializer), but in *addEqualsExpression*(), you are passing a
String value.

2011/2/17 Raoyixuan (Shandy) raoyix...@huawei.com

  Not really.



 I also tried the code as below:

 StringSerializer ss = StringSerializer.get();

 LongSerializer ls = LongSerializer.get();
 IndexedSlicesQueryString, String, Long indexedSlicesQuery =
 HFactory.createIndexedSlicesQuery(keyspace, ss, ss, ls);

 indexedSlicesQuery.setColumnNames(full_name, birth_date, state);
 indexedSlicesQuery.addGtExpression(birth_date, 1970L);
 indexedSlicesQuery.addEqualsExpression(state, UT);
 indexedSlicesQuery.setColumnFamily(users);
 indexedSlicesQuery.setStartKey();
 QueryResultOrderedRowsString, String, Long result =
 indexedSlicesQuery.execute();

 It shows the error:

 The method addGtEqualEpression(String,Long) in the type
 IndexedSlicesQueryString,String,Long is not applicable for the
 arguments(String,String)







 *From:* Roshan Dawrani [mailto:roshandawr...@gmail.com]
 *Sent:* Thursday, February 17, 2011 10:37 AM
 *To:* user@cassandra.apache.org
 *Subject:* Re: indexedslicesQuery class error



 That's because in createIndexedSlicesQuery(), you have used SS as the
 valueSerializer, and then in addGtExpression(birth_date, 1970L), you pass
 a long as the value.



 @see:
 https://groups.google.com/group/hector-users/browse_thread/thread/520c5332dedfca4a



 2011/2/17 Raoyixuan (Shandy) raoyix...@huawei.com

  I do the range query  by the hector client when the state and birht_date
 columns are both indexed, it show the error:



 The method addGtExpression(String,String) in the type
 IndexedSlicesQueryString,String,String is not applicable for the
 arguments(String,long)



 The code is as below:



 StringSerializer ss = StringSerializer.get();
 IndexedSlicesQueryString, String, String indexedSlicesQuery =
 HFactory.createIndexedSlicesQuery(keyspace, ss, ss, ss);
 indexedSlicesQuery.setColumnNames(full_name, birth_date, state);
 indexedSlicesQuery.addGtExpression(birth_date, 1970L);
 indexedSlicesQuery.addEqualsExpression(state, UT);
 indexedSlicesQuery.setColumnFamily(users);
 indexedSlicesQuery.setStartKey();
 QueryResultOrderedRowsString, String, String result =
 indexedSlicesQuery.execute();



 华为技术有限公司 Huawei Technologies Co., Ltd.[image: Company_logo]








 Email: raoyix...@huawei.com
 地址:深圳市龙岗区坂田华为基地 邮编:518129
 Huawei Technologies Co., Ltd.
 Bantian, Longgang District,Shenzhen 518129, P.R.China
 http://www.huawei.com
  --

 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁
 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中
 的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
 This e-mail and its attachments contain confidential information from
 HUAWEI, which
 is intended only for the person or entity whose address is listed above.
 Any use of the
 information contained herein in any way (including, but not limited to,
 total or partial
 disclosure, reproduction, or dissemination) by persons other than the
 intended
 recipient(s) is prohibited. If you receive this e-mail in error, please
 notify the sender by
 phone or email immediately and delete it!






 --
 Roshan
 Blog: http://roshandawrani.wordpress.com/
 Twitter: @roshandawrani http://twitter.com/roshandawrani
 Skype: roshandawrani




-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani
image001.jpg

Re: indexedslicesQuery class error

2011-02-16 Thread Roshan Dawrani
You didn't see the previously given link?

@see:
https://groups.google.com/group/hector-users/browse_thread/thread/520c5332dedfca4a

2011/2/17 Raoyixuan (Shandy) raoyix...@huawei.com

  But my requirement is get the data by birth_date and state , how to
 achieve it  by hector client?



 *From:* Roshan Dawrani [mailto:roshandawr...@gmail.com]
 *Sent:* Thursday, February 17, 2011 10:48 AM

 *To:* user@cassandra.apache.org
 *Subject:* Re: indexedslicesQuery class error



 addGtEqual???



 You are still making the same mistake.



 You are now saying that your values are going to be long (by passing LS as
 the valueSerializer), but in *addEqualsExpression*(), you are passing a
 String value.

 2011/2/17 Raoyixuan (Shandy) raoyix...@huawei.com

 Not really.



 I also tried the code as below:

 StringSerializer ss = StringSerializer.get();

 LongSerializer ls = LongSerializer.get();
 IndexedSlicesQueryString, String, Long indexedSlicesQuery =
 HFactory.createIndexedSlicesQuery(keyspace, ss, ss, ls);


 indexedSlicesQuery.setColumnNames(full_name, birth_date, state);
 indexedSlicesQuery.addGtExpression(birth_date, 1970L);
 indexedSlicesQuery.addEqualsExpression(state, UT);
 indexedSlicesQuery.setColumnFamily(users);
 indexedSlicesQuery.setStartKey();

 QueryResultOrderedRowsString, String, Long result =
 indexedSlicesQuery.execute();

 It shows the error:

 The method addGtEqualEpression(String,Long) in the type
 IndexedSlicesQueryString,String,Long is not applicable for the
 arguments(String,String)







 *From:* Roshan Dawrani [mailto:roshandawr...@gmail.com]
 *Sent:* Thursday, February 17, 2011 10:37 AM
 *To:* user@cassandra.apache.org
 *Subject:* Re: indexedslicesQuery class error



 That's because in createIndexedSlicesQuery(), you have used SS as the
 valueSerializer, and then in addGtExpression(birth_date, 1970L), you pass
 a long as the value.



 @see:
 https://groups.google.com/group/hector-users/browse_thread/thread/520c5332dedfca4a



 2011/2/17 Raoyixuan (Shandy) raoyix...@huawei.com

  I do the range query  by the hector client when the state and birht_date
 columns are both indexed, it show the error:



 The method addGtExpression(String,String) in the type
 IndexedSlicesQueryString,String,String is not applicable for the
 arguments(String,long)



 The code is as below:



 StringSerializer ss = StringSerializer.get();
 IndexedSlicesQueryString, String, String indexedSlicesQuery =
 HFactory.createIndexedSlicesQuery(keyspace, ss, ss, ss);
 indexedSlicesQuery.setColumnNames(full_name, birth_date, state);
 indexedSlicesQuery.addGtExpression(birth_date, 1970L);
 indexedSlicesQuery.addEqualsExpression(state, UT);
 indexedSlicesQuery.setColumnFamily(users);
 indexedSlicesQuery.setStartKey();
 QueryResultOrderedRowsString, String, String result =
 indexedSlicesQuery.execute();



 华为技术有限公司 Huawei Technologies Co., Ltd.[image: Company_logo]








 Email: raoyix...@huawei.com
 地址:深圳市龙岗区坂田华为基地 邮编:518129
 Huawei Technologies Co., Ltd.
 Bantian, Longgang District,Shenzhen 518129, P.R.China
 http://www.huawei.com
  --

 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁
 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中
 的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
 This e-mail and its attachments contain confidential information from
 HUAWEI, which
 is intended only for the person or entity whose address is listed above.
 Any use of the
 information contained herein in any way (including, but not limited to,
 total or partial
 disclosure, reproduction, or dissemination) by persons other than the
 intended
 recipient(s) is prohibited. If you receive this e-mail in error, please
 notify the sender by
 phone or email immediately and delete it!






 --
 Roshan
 Blog: http://roshandawrani.wordpress.com/
 Twitter: @roshandawrani http://twitter.com/roshandawrani
 Skype: roshandawrani




 --
 Roshan
 Blog: http://roshandawrani.wordpress.com/
 Twitter: @roshandawrani http://twitter.com/roshandawrani
 Skype: roshandawrani

image001.jpg

Re: Slow network writes

2011-02-03 Thread Roshan Dawrani
I think that was originally a voice command - for whoever happened to hear
it first :-)

On Fri, Feb 4, 2011 at 9:57 AM, buddhasystem potek...@bnl.gov wrote:


 Dude, are you asking me to unsubscribe?

 --
 View this message in context:
 http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Slow-network-writes-tp5985757p5991488.html
 Sent from the cassandra-u...@incubator.apache.org mailing list archive at
 Nabble.com.



Re: changing JMX port in 0.7

2011-02-02 Thread Roshan Dawrani
:-)

On Wed, Feb 2, 2011 at 10:14 PM, Sasha Dolgy sdo...@gmail.com wrote:

 Silly me.  On windows it has to be changed in
 $CASSANDRA_HOME/bin/cassandra.bat


 On Wed, Feb 2, 2011 at 5:39 PM, Sasha Dolgy sdo...@gmail.com wrote:

 An instance of Cassandra starts and is listening on the ports described
 below:
  Port Description Defined In 9160 Client traffic via the Thrift 
 protocolcassandra.yaml7000Cluster traffic via gossipcassandra.yaml8080Port 
 for monitoring attributes via JMX
 cassandra.in.sh
 My $CASSANDRA_HOME/conf/cassandra.in.sh has no configuration for JMX.

 In $CASSANDRA_HOME/conf/cassandra-env.sh :

 JMX_PORT=8080

 When I change this, the port change isn't reflected.

 I am starting cassandra with:  cassandra -f

 I'd like to change the default port...
 -sd

 --
 Sasha Dolgy
 sasha.do...@gmail.com




 --
 Sasha Dolgy
 sasha.do...@gmail.com



Re: cassandra as session store

2011-02-01 Thread Roshan Dawrani
Please do keep this discussion on the mailing list and not take it offline.
:-)

I will be in the same boat very soon, I think.

It will be great to hear from people who have already gone down this road
and used Cassandra as a session store in a clustered environment.

On Tue, Feb 1, 2011 at 10:56 PM, Kallin Nagelberg 
kallin.nagelb...@gmail.com wrote:

 Cool, maybe we can help each other out. I'm using multiple web-apps,
 all running in Resin containers. Have you thought about schema or how
 to generate sessionIds for cookies?

 -Kal

 On Tue, Feb 1, 2011 at 12:22 PM, Sasha Dolgy sdo...@gmail.com wrote:
  I am working on this tonight with jetty as front end and cassandra as
  backend session store.  Hopefully.
 
  On 1 Feb 2011 18:19, Kallin Nagelberg kallin.nagelb...@gmail.com
 wrote:
  Hey,
  I am currently investigating Cassandra for storing what are
  effectively web sessions. Our production environment has about 10 high
  end servers behind a load balancer, and we'd like to add distributed
  session support. My main concerns are performance, consistency, and
  the ability to create unique session keys. The last thing we would
  want is users picking up each others sessions. After spending a few
  days investigating Cassandra I'm thinking of creating a single
  keyspace with a single super-column-family. The scf would store a few
  standard columns, and a supercolumn of arbitrary session attributes,
  like:
 
  0s809sdf8s908sf90s: {
  prop1: x,
  created : timestamp,
  lastAccessed: timestamp,
  prop2: y,
  arbirtraryProperties : {
  someRandomProperty1:xxyyzz,
  someRandomProperty2:xxyyzz,
  someRandomProperty3:xxyyzz
  }
 
  Does this sound like a reasonable use case? We are on a tight timeline
  and I'm currently on the fence about getting something up and running
  like this on a tight timeline.
 
  Thanks,
  -Kal
 



Re: Cassandra events next week around Strata

2011-01-28 Thread Roshan Dawrani
HelloNo India-based Cassandra / NoSQL events? :-( :-)

On Sat, Jan 29, 2011 at 8:31 AM, Jonathan Ellis jbel...@gmail.com wrote:

 Next week is the Strata conference and not one, not two, but five
 Cassandra events!

 In chronological order:

 1. My Strata Cassandra tutorial Tuesday afternoon:
 http://strataconf.com/strata2011/public/schedule/detail/16911

 2. Cassandra Meetup organized by Jeremy Hanna Tuesday evening:
 http://cassandrastrata.eventbrite.com/

 3. Ben Werther's Strata talk about what DataStax is up to now Thursday
 afternoon: http://strataconf.com/strata2011/public/schedule/detail/18072

 4. Rackspace + DataStax party Thursday night:
 http://strataconf.com/strata2011/public/schedule/detail/18523

 5. DataStax Cassandra training on Friday:
 http://riptanosantaclara.eventbrite.com/

 See you there!

 --
 Jonathan Ellis
 Project Chair, Apache Cassandra
 co-founder of DataStax, the source for professional Cassandra support
 http://www.datastax.com



Re: Basic question on a write operation immediately followed by a read

2011-01-25 Thread Roshan Dawrani
2011/1/25 Wangpei (Peter) peter.wang...@huawei.com

  for your 1-node cluster,  ANY is the only consistency level that client
 may returns BEFORE node write to memory table.

 And read op on the node read both the memory table and SSTable.



 It real puzzle me. :(


Please don't be puzzled just yet. :-)

As I said from the beginning, I wasn't confirming yet that reads were in
fact missing the writes. I have just observed that kind of behavior at my
app level and I wanted to understand what was the possibility of it
happening from the Cassdandra side.

If reads were sure to read what was written (with QUORAM level, let's say),
then I can look at other causes inside the app.


Re: get_range_slices getting deleted rows

2011-01-25 Thread Roshan Dawrani
No, checking the key will not do.

You will need to check if row.getColumnSlice().getColumns() is empty or not.
That's what I do and it works for me.

On Wed, Jan 26, 2011 at 4:53 AM, Nick Santini nick.sant...@kaseya.comwrote:

 thanks,
 so I need to check the returned slice for the key to verify that is a valid
 row and not a deleted one?

 Nicolas Santini



 On Wed, Jan 26, 2011 at 12:16 PM, Narendra Sharma 
 narendra.sha...@gmail.com wrote:

 Yes. See this http://wiki.apache.org/cassandra/FAQ#range_ghosts

 -Naren


 On Tue, Jan 25, 2011 at 2:59 PM, Nick Santini nick.sant...@kaseya.comwrote:

 Hi,
 I'm trying a test scenario where I create 100 rows in a CF, then
 use get_range_slices to get all the rows, and I get 100 rows, so far so good
 then after the test I delete the rows using remove but without a column
 or super column, this deletes the row, I can confirm that cos if I try to
 get it with get_slice using the key I get nothing

 but then if I do get_range_slice again, where the range goes between new
 byte[0] and new byte[0] (therefore returning everything), I still get the
 100 row keys

 is that expected to be?

 thanks

 Nicolas Santini






Basic question on a write operation immediately followed by a read

2011-01-24 Thread Roshan Dawrani
Hi,

I have a basic question - maybe silly too.

Say, I have a 1-node Cassandra setup (no replication, eventual consistency,
etc) and I do an insert into a column family and then very close in time to
the insert, I do a read on it for the same data.

Is there a possibility that my read operation may miss the data that just
got inserted?

Since there are no DB transactions in Cassandra, are writes immediately seen
to readers - even partially as they get written?

Or can there be a delay sometimes due to flusing-to-SSTables, etc?

Or, the writes are first in-memory and immediately visible to readers and
flusing, etc is independent of all this and happens in background?

Thanks.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


Re: Basic question on a write operation immediately followed by a read

2011-01-24 Thread Roshan Dawrani
Thanks, Victor.

Even in our application, it will be an advantage if the data can be
immediately read and reads don't miss it for even the smallest amount of
time after write queries have been executed at the app level.

I am in the middle of migrating an app to Cassandra and observing some small
app level issues, and wanted to rule out this one as a possibility.

Cheers,
Roshan

On Tue, Jan 25, 2011 at 9:23 AM, Victor Kabdebon
victor.kabde...@gmail.comwrote:

 Hello,

 Roshan basically what happens to your one node server is :
 Your insert operation is recorded in the commitlog, then to the MemTable of
 the ColumnFamily. Flushing to Memtable is triggered after and your flush
 those memtables.
 The Memtable holds the data in your node memory and so your insert will be
 in either one of those structures. It can be immediately read. And if I can
 add this is one of the advantage of Cassandra : the data is inserted and
 ready to use immediately after it has been received by the node.

 Best Regards,
 Victor Kabdebon
 http://www.voxnucleus.fr

 2011/1/24 Roshan Dawrani roshandawr...@gmail.com

 Hi,

 I have a basic question - maybe silly too.

 Say, I have a 1-node Cassandra setup (no replication, eventual
 consistency, etc) and I do an insert into a column family and then very
 close in time to the insert, I do a read on it for the same data.

 Is there a possibility that my read operation may miss the data that just
 got inserted?

 Since there are no DB transactions in Cassandra, are writes immediately
 seen to readers - even partially as they get written?

 Or can there be a delay sometimes due to flusing-to-SSTables, etc?

 Or, the writes are first in-memory and immediately visible to readers and
 flusing, etc is independent of all this and happens in background?

 Thanks.

 --
 Roshan
 Blog: http://roshandawrani.wordpress.com/
 Twitter: @roshandawrani http://twitter.com/roshandawrani
 Skype: roshandawrani




Re: Basic question on a write operation immediately followed by a read

2011-01-24 Thread Roshan Dawrani
On Tue, Jan 25, 2011 at 9:32 AM, Victor Kabdebon
victor.kabde...@gmail.comwrote:

 Roshan, just remember, what you do on a one node cluster might not be valid
 on a 5 node cluster. Depending on the way your insert and query (QUORUM,
 ALL, ... ) your data might not be available to get, yet it will be in your
 cluster. I advise you to read Patricio's link it will give you some hints.


Yes, I understand and expect the differences between a 1-node and a n-node
setup.

It's just that, at this point, I am investigating a few issues in a 1-node
setup and if reads can follow the writes with guarantee, then I can
comfortably look for a cause elsewhere.

Thanks.


Re: Basic question on a write operation immediately followed by a read

2011-01-24 Thread Roshan Dawrani
On Tue, Jan 25, 2011 at 9:57 AM, Victor Kabdebon
victor.kabde...@gmail.comwrote:

 As far as I remember, please correct me if I am wrong, on a one node
 cluster :
 First Commitlog is updated then almost immediatly after order is send to
 the memtable to add this new insert. You might have a very short delay
 between the two. I don't know your configuration but especially if you
 insert from a distant server to a node you should look at their sync..
 Otherwise if it doesn't appear I can offer no explanation for this
 behavior...


As of now, I am on an app server with an embedded cassandra server, so no
possibility of clocks out-of-sync.

So, I understand from you that client call returns after updating the commit
log and updates to memtables are async after that - with how-much-ever short
a delay tried by Cassandra?

And the reads are always off memtables?

So, theoretically, there is a possibility of a read missing a write because
it has not come to memtables from the commit log yet?

Is there anything that I can tell about my configuration that would help?


Re: Basic question on a write operation immediately followed by a read

2011-01-24 Thread Roshan Dawrani
2011/1/25 Wangpei (Peter) peter.wang...@huawei.com

  What is the ConsistencyLevel value? Is it ConsistencyLevel.ANY?


I am using Hector 0.7.0-22 and getting keyspace as *
HFactory.createKeyspace()*, which seems to be defaulting the consistency
level to QUORAM for both reads and writes.

Nowhere else, it is explicitly specified in my configuration.


Embedded Cassandra server startup question

2011-01-20 Thread Roshan Dawrani
Hi,

I am using Cassandra for a Grails application and in that I start the
embedded server when the Spring application context gets built.

When I run my Grails app test suite - it first runs the integration and then
functional test suite and it builds the application text individually for
each phase.

When it brings the up the embedded Cassandra server in 2nd phase (for
functional tests), it fails saying *Attempt to assign id to existing column
family.*

Anyone familiar with this error? Is it because both the test phases are
executed in the same JVM instance and there is some Cassandra meta-data from
phase 1 server start that is affecting the server startup in 2nd phase?

Any way I can cleanly start the server 2 times in my case? Any other
suggestion? Thanks.

-- 
Roshan
Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani http://twitter.com/roshandawrani
Skype: roshandawrani


  1   2   >