CQL query regarding indexes
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
) 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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?
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?
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?
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?
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
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
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?
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?
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?
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?
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
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
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
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
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
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?
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?
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?
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?
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
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
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
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
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
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
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
:-) 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
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
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/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
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
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
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
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
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/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
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