Re: Hbase vs Cassandra

2015-05-31 Thread Cem Cayiroglu

I think the links provided are general comparison. I will try to explain the 
difference as I implemented time series with both Cassandra and HBase. We 
migrated from Cassandra to HBase. 
Reasons: 
Scan is fast with HBase. It fits better with time series data model. Please 
look at opentsdb. Cassandra models it with large rows. 
Server side filtering. You can use to filter some of your time series data on 
the server side. 
Hbase has a better integration with hadoop in general. We had to write our own 
bulk loader using mapreduce for cassandra. hbase has already had a tool for 
that. There is a nice integration with flume and kite. 
High availability didnet matter for us. 10 secs down is fine for our use 
cases.HBase started to support eventually consistent reads.  

Cem


Sent from my iPhone

> On May 30, 2015, at 4:24 PM, Brady Gentile  wrote:
> 
> Hey Ajay,
> 
> Here are some use cases from PlanetCassandra.org of companies who chose 
> Cassandra over HBase after evaluation, or migrated to Cassandra from HBase.
> 
> The eComNext interview cited on the page touches on time-series data; if 
> you're interested in talking with Miguel Coira, I'd be happy to make that 
> connection.
> 
> http://planetcassandra.org/hbase-to-cassandra-migration/
> 
> Brady Gentile
> Program Manager
> 480.735.1133
> 
> 
>> On May 29, 2015, at 12:09 PM, Ajay  wrote:
>> 
>> Hi,
>> 
>> I need some info on Hbase vs Cassandra as a data store (in general plus 
>> specific to time series data).
>> 
>> The comparison in the following helps:
>> 1: features 
>> 2: deployment and monitoring 
>> 3: performance 
>> 4: anything else
>> 
>> Thanks 
>> Ajay


Re: disk space issue

2014-10-01 Thread cem
thanks for the answers!

Cem

On Wed, Oct 1, 2014 at 2:38 PM, Ken Hancock  wrote:

> *https://github.com/hancockks/cassandra-compact-cf
> <https://github.com/hancockks/cassandra-compact-cf>*
>
> On Tue, Sep 30, 2014 at 5:49 PM, cem  wrote:
>
>> Hi All,
>>
>> I have a 7 node cluster. One node ran out of disk space and others are
>> around 80% disk utilization.
>> The data has 10 days TTL but I think compaction wasn't fast enough to
>> clean up the expired data.  gc_grace value is set default. I have a
>> replication factor of 3. Do you think that it may help if I delete all data
>> for that node and run repair. Does node repair check the ttl value before
>> retrieving data from other nodes? Do you have any other suggestions?
>>
>> Best Regards,
>> Cem.
>>
>
>
>
> --
> *Ken Hancock *| System Architect, Advanced Advertising
> SeaChange International
> 50 Nagog Park
> Acton, Massachusetts 01720
> ken.hanc...@schange.com | www.schange.com | NASDAQ:SEAC
> <http://www.schange.com/en-US/Company/InvestorRelations.aspx>
> Office: +1 (978) 889-3329 | [image: Google Talk:] ken.hanc...@schange.com
>  | [image: Skype:]hancockks | [image: Yahoo IM:]hancockks[image: LinkedIn]
> <http://www.linkedin.com/in/kenhancock>
>
> [image: SeaChange International]
> <http://www.schange.com/>This e-mail and any attachments may contain
> information which is SeaChange International confidential. The information
> enclosed is intended only for the addressees herein and may not be copied
> or forwarded without permission from SeaChange International.
>


disk space issue

2014-09-30 Thread cem
Hi All,

I have a 7 node cluster. One node ran out of disk space and others are
around 80% disk utilization.
The data has 10 days TTL but I think compaction wasn't fast enough to clean
up the expired data.  gc_grace value is set default. I have a replication
factor of 3. Do you think that it may help if I delete all data for that
node and run repair. Does node repair check the ttl value before retrieving
data from other nodes? Do you have any other suggestions?

Best Regards,
Cem.


Re: 2 nodes cassandra cluster raid10 or JBOD

2013-12-12 Thread cem
Thanks!


On Wed, Dec 11, 2013 at 9:37 PM, Aaron Morton wrote:

> If you have two nodes, and RF 2, you will only be able to use eventual
> consistency. If you want to have stronger consistency and some redundancy 3
> nodes is the minimum requirement.
>
> In the current setup, with only 2 nodes, I would use RAID 10 as it
> requires less operator intervention and there is a chance of data loss with
> RF 2. If a write (including the hints) is only committed to one node and
> the disk on that node fails the write will be lost.
>
> Hope that helps.
>
>
> -
> Aaron Morton
> New Zealand
> @aaronmorton
>
> Co-Founder & Principal Consultant
> Apache Cassandra Consulting
> http://www.thelastpickle.com
>
> On 11/12/2013, at 9:33 pm, Veysel Taşçıoğlu 
> wrote:
>
> Hi,
>
> What about using JBOD and replication factor 2?
>
> Regards.
> On 11 Dec 2013 02:03, "cem"  wrote:
>
>> Hi all,
>>
>> I need to setup 2 nodes Cassandra cluster. I know that Datastax
>> recommends using JBOD as a disk configuration and have replication for the
>> redundancy. I was planning to use RAID 10 but using JBOD can save 50% disk
>> space and increase the performance . But I am not sure I should use JBOD
>> with 2 nodes cluster since there is a higher chance to lose 50% of our
>> cluster compare to a larger cluster. I may prefer to have stronger nodes if
>> I have limited number of nodes.
>>
>>
>> What do you think about that? Is there anyone who has 2 nodes cluster?
>>
>>
>> Best Regards,
>>
>> Cem
>>
>
>


2 nodes cassandra cluster raid10 or JBOD

2013-12-10 Thread cem
Hi all,

I need to setup 2 nodes Cassandra cluster. I know that Datastax recommends
using JBOD as a disk configuration and have replication for the redundancy.
I was planning to use RAID 10 but using JBOD can save 50% disk space and
increase the performance . But I am not sure I should use JBOD with 2 nodes
cluster since there is a higher chance to lose 50% of our cluster compare
to a larger cluster. I may prefer to have stronger nodes if I have limited
number of nodes.



What do you think about that? Is there anyone who has 2 nodes cluster?


Best Regards,

Cem


Re: Deleting Row Key

2013-10-05 Thread Cem Cayiroglu
It will be deleted after a compaction.

Sent from my iPhone

On 05 Oct 2013, at 07:29, Sebastian Schmidt  wrote:

> Hi,
> 
> per default, the key of a row is not deleted, if all columns were
> deleted. I tried to figure out why, but I didn't find an answer, except
> that it is 'intended'. Why is that intended? And is there a possibility
> to manually delete the row key?
> 
> Regards
> Sebastian


Re: Cassandra Heap Size for data more than 1 TB

2013-10-02 Thread cem
I think 512 is fine. Could you tell more about your traffic
characteristics?

Cem


On Wed, Oct 2, 2013 at 4:32 PM, srmore  wrote:

> I changed my index_interval from 128 to index_interval: 128 to 512, does
> it make sense to increase more than this ?
>
>
> On Wed, Oct 2, 2013 at 9:30 AM, cem  wrote:
>
>> Have a look to index_interval.
>>
>> Cem.
>>
>>
>> On Wed, Oct 2, 2013 at 2:25 PM, srmore  wrote:
>>
>>> The version of Cassandra I am using is 1.0.11, we are migrating to 1.2.X
>>> though. We had tuned bloom filters (0.1) and AFAIK making it lower than
>>> this won't matter.
>>>
>>> Thanks !
>>>
>>>
>>> On Tue, Oct 1, 2013 at 11:54 PM, Mohit Anchlia 
>>> wrote:
>>>
>>>> Which Cassandra version are you on? Essentially heap size is function
>>>> of number of keys/metadata. In Cassandra 1.2 lot of the metadata like bloom
>>>> filters were moved off heap.
>>>>
>>>>
>>>> On Tue, Oct 1, 2013 at 9:34 PM, srmore  wrote:
>>>>
>>>>> Does anyone know what would roughly be the heap size for cassandra
>>>>> with 1TB of data ? We started with about 200 G and now on one of the nodes
>>>>> we are already on 1 TB. We were using 8G of heap and that served us well 
>>>>> up
>>>>> until we reached 700 G where we started seeing failures and nodes 
>>>>> flipping.
>>>>>
>>>>> With 1 TB of data the node refuses to come back due to lack of memory.
>>>>> needless to say repairs and compactions takes a lot of time. We upped the
>>>>> heap from 8 G to 12 G and suddenly everything started moving rapidly i.e.
>>>>> the repair tasks and the compaction tasks. But soon (in about 9-10 hrs) we
>>>>> started seeing the same symptoms as we were seeing with 8 G.
>>>>>
>>>>> So my question is how do I determine what is the optimal size of heap
>>>>> for data around 1 TB ?
>>>>>
>>>>> Following are some of my JVM settings
>>>>>
>>>>> -Xms8G
>>>>> -Xmx8G
>>>>> -Xmn800m
>>>>> -XX:NewSize=1200M
>>>>> XX:MaxTenuringThreshold=2
>>>>> -XX:SurvivorRatio=4
>>>>>
>>>>> Thanks !
>>>>>
>>>>
>>>>
>>>
>>
>


Re: Cassandra Heap Size for data more than 1 TB

2013-10-02 Thread cem
Have a look to index_interval.

Cem.


On Wed, Oct 2, 2013 at 2:25 PM, srmore  wrote:

> The version of Cassandra I am using is 1.0.11, we are migrating to 1.2.X
> though. We had tuned bloom filters (0.1) and AFAIK making it lower than
> this won't matter.
>
> Thanks !
>
>
> On Tue, Oct 1, 2013 at 11:54 PM, Mohit Anchlia wrote:
>
>> Which Cassandra version are you on? Essentially heap size is function of
>> number of keys/metadata. In Cassandra 1.2 lot of the metadata like bloom
>> filters were moved off heap.
>>
>>
>> On Tue, Oct 1, 2013 at 9:34 PM, srmore  wrote:
>>
>>> Does anyone know what would roughly be the heap size for cassandra with
>>> 1TB of data ? We started with about 200 G and now on one of the nodes we
>>> are already on 1 TB. We were using 8G of heap and that served us well up
>>> until we reached 700 G where we started seeing failures and nodes flipping.
>>>
>>> With 1 TB of data the node refuses to come back due to lack of memory.
>>> needless to say repairs and compactions takes a lot of time. We upped the
>>> heap from 8 G to 12 G and suddenly everything started moving rapidly i.e.
>>> the repair tasks and the compaction tasks. But soon (in about 9-10 hrs) we
>>> started seeing the same symptoms as we were seeing with 8 G.
>>>
>>> So my question is how do I determine what is the optimal size of heap
>>> for data around 1 TB ?
>>>
>>> Following are some of my JVM settings
>>>
>>> -Xms8G
>>> -Xmx8G
>>> -Xmn800m
>>> -XX:NewSize=1200M
>>> XX:MaxTenuringThreshold=2
>>> -XX:SurvivorRatio=4
>>>
>>> Thanks !
>>>
>>
>>
>


Re: How to contribute to C*?

2013-09-04 Thread cem
Thanks Rob!


On Thu, Sep 5, 2013 at 12:17 AM, Robert Coli  wrote:

> On Wed, Sep 4, 2013 at 2:48 PM, cem  wrote:
>
>> I would prefer to have it on server side since it introduces too much
>> complexity on client side and  CF overheads.
>>
>> I would like to know how to contribute to C* code base?
>> Am I going to open a ticket and assign to me?
>>
>
> Open a JIRA, attach your patch and a description of why you want to
> contribute it. If that doesn't get the response you're looking for, ask on
> #cassandra-dev@.
>
> =Rob
>


How to contribute to C*?

2013-09-04 Thread cem
Hi All,

I have a implementation for range partitioning on the client side. Each
partition is a CF. It allows you to create and drop partitions.

It is very useful if you have time series or event data that you want to
store temporarily. You can use TTL for the same issue but it is not fast
enough to clean data if you have high write traffic. You can run out of
disk space. It is quite similar to range partitions in RDBMS. I used to use
it with mysql to clean disk.

I would prefer to have it on server side since it introduces too much
complexity on client side and  CF overheads.

I would like to know how to contribute to C* code base?
Am I going to open a ticket and assign to me?

Can someone provide me the path? Thank you very much!

Best Regards,
Cem


Re: Periodical deletes and compaction strategy

2013-08-26 Thread cem
Hi Alain,

I solved the same issue by implementing a client that manages time range
partitions. Each time range partition is a CF.

Cem.


On Mon, Aug 26, 2013 at 11:34 AM, Alain RODRIGUEZ wrote:

> Hi,
>
> Any guidance on this topic would be appreciated :).
>
>
> 2013/8/23 Alain RODRIGUEZ 
>
>> Hi,
>>
>> I am currently using about 10 CF to store temporal data. Those data are
>> growing pretty big (hundreds of GB when I actually only need information
>> from the last month - i.e. about hundreds of MB).
>>
>> I am going to delete old (and useless) data, I cannot always use TTL
>> since I have counters too. Yet I know that deletes are a bit tricky in
>> Cassandra, due to the fact that they are distributed.
>>
>> I was wondering about the best way to keep high performance and get rid
>> of tombstones easily.
>>
>> I was considering 2 ways to do it :
>>
>> - Major compaction on these 10 CF to force them to always keep fresh data
>> only and remove tombstones
>> - LCS to have more chance to get all parts of the row in one SSTable,
>> allowing tombstones to be removed eventually.
>>
>> What would be the better option (i.e. what would be the impact of both
>> solutions) ?
>> Do you need more information about those CF to answer this question ?
>>
>> Any insight is welcome, as always.
>>
>> Alain
>>
>
>


Re: maximum storage per node

2013-07-26 Thread cem
I dont think it is a good idea to put multiple instance in same machine.
You may lose multiple instances at the same time if the machine goes
down. You can also specify multiple directories as storage in 1.2.

I am also not sure boot-strapping will be a big problem since the number
keys you will store is relatively small.

Why didnt you partition your data according to time instead of using your
own compactor?

Cem



On Fri, Jul 26, 2013 at 3:50 AM, sankalp kohli wrote:

> Try putting multiple instances per machine with each instance mapped to
> its own disk. This might not work with v-nodes
>
>
> On Thu, Jul 25, 2013 at 9:04 AM, Pruner, Anne (Anne) wrote:
>
>>  I actually wrote my own compactor that deals with this problem.
>>
>> ** **
>>
>> Anne
>>
>> ** **
>>
>> *From:* cem [mailto:cayiro...@gmail.com]
>> *Sent:* Thursday, July 25, 2013 11:59 AM
>>
>> *To:* user@cassandra.apache.org
>> *Subject:* Re: maximum storage per node
>>
>> ** **
>>
>> You will suffer from long compactions if you are planning to get rid of
>> from old records by TTL.
>>
>> ** **
>>
>> Best Regards,
>>
>> Cem.
>>
>> ** **
>>
>> On Thu, Jul 25, 2013 at 5:51 PM, Kanwar Sangha 
>> wrote:
>>
>> Issues with large data nodes would be –
>>
>>  
>>
>> · Nodetool repair will be impossible to run
>>
>> · Your read i/o will suffer since you will almost always go to
>> disk (each read will take 3 IOPS worst case)
>>
>> · Boot-straping the node in case of failures will take days/weeks
>> 
>>
>>  
>>
>>  
>>
>> *From:* Pruner, Anne (Anne) [mailto:pru...@avaya.com]
>> *Sent:* 25 July 2013 10:45
>> *To:* user@cassandra.apache.org
>> *Subject:* RE: maximum storage per node
>>
>>  
>>
>> We’re storing fairly large files (about 1MB apiece) for a few months and
>> then deleting the oldest to get more space to add new ones.  We have large
>> requirements (maybe up to 100 TB), so having a 1TB limit would be
>> unworkable.
>>
>>  
>>
>> What is the reason for the limit?  Does something fail after that?
>>
>>  
>>
>> If there are hardware issues, what’s recommended?
>>
>>  
>>
>> BTW, we’re using Cassandra 1.2
>>
>>  ****
>>
>> Anne
>>
>>  
>>
>> *From:* cem [mailto:cayiro...@gmail.com ]
>> *Sent:* Thursday, July 25, 2013 11:41 AM
>> *To:* user@cassandra.apache.org
>> *Subject:* Re: maximum storage per node
>>
>>  
>>
>> Between 500GB - 1TB is recommended. 
>>
>>  
>>
>> But it depends also your hardware, traffic characteristics and
>> requirements. Can you give some details on that?
>>
>>  
>>
>> Best Regards,
>>
>> Cem
>>
>>  
>>
>> On Thu, Jul 25, 2013 at 5:35 PM, Pruner, Anne (Anne) 
>> wrote:
>>
>> Does anyone have opinions on the maximum amount of data reasonable to
>> store on one Cassandra node?  If there are limitations, what are the
>> reasons for it?
>>
>>  
>>
>> Thanks,
>>
>> Anne
>>
>>  
>>
>> ** **
>>
>
>


Re: maximum storage per node

2013-07-25 Thread cem
You will suffer from long compactions if you are planning to get rid of
from old records by TTL.

Best Regards,
Cem.


On Thu, Jul 25, 2013 at 5:51 PM, Kanwar Sangha  wrote:

>  Issues with large data nodes would be –
>
> ** **
>
> **· **Nodetool repair will be impossible to run
>
> **· **Your read i/o will suffer since you will almost always go
> to disk (each read will take 3 IOPS worst case)
>
> **· **Boot-straping the node in case of failures will take
> days/weeks
>
> ** **
>
> ** **
>
> *From:* Pruner, Anne (Anne) [mailto:pru...@avaya.com]
> *Sent:* 25 July 2013 10:45
> *To:* user@cassandra.apache.org
> *Subject:* RE: maximum storage per node
>
> ** **
>
> We’re storing fairly large files (about 1MB apiece) for a few months and
> then deleting the oldest to get more space to add new ones.  We have large
> requirements (maybe up to 100 TB), so having a 1TB limit would be
> unworkable.
>
> ** **
>
> What is the reason for the limit?  Does something fail after that?
>
> ** **
>
> If there are hardware issues, what’s recommended?
>
> ** **
>
> BTW, we’re using Cassandra 1.2
>
> ** **
>
> Anne
>
> ** **
>
> *From:* cem [mailto:cayiro...@gmail.com ]
> *Sent:* Thursday, July 25, 2013 11:41 AM
> *To:* user@cassandra.apache.org
> *Subject:* Re: maximum storage per node
>
> ** **
>
> Between 500GB - 1TB is recommended. 
>
> ** **
>
> But it depends also your hardware, traffic characteristics and
> requirements. Can you give some details on that?
>
> ** **
>
> Best Regards,
>
> Cem
>
> ** **
>
> On Thu, Jul 25, 2013 at 5:35 PM, Pruner, Anne (Anne) 
> wrote:
>
> Does anyone have opinions on the maximum amount of data reasonable to
> store on one Cassandra node?  If there are limitations, what are the
> reasons for it?
>
>  
>
> Thanks,
>
> Anne
>
> ** **
>


Re: maximum storage per node

2013-07-25 Thread cem
Between 500GB - 1TB is recommended.

But it depends also your hardware, traffic characteristics and
requirements. Can you give some details on that?

Best Regards,
Cem


On Thu, Jul 25, 2013 at 5:35 PM, Pruner, Anne (Anne) wrote:

>  Does anyone have opinions on the maximum amount of data reasonable to
> store on one Cassandra node?  If there are limitations, what are the
> reasons for it?
>
> ** **
>
> Thanks,
>
> Anne
>


Re: Compression ratio

2013-07-12 Thread cem
Thank you very much!


On Fri, Jul 12, 2013 at 5:59 PM, Yuki Morishita  wrote:

> it's compressed/original.
>
>
> https://github.com/apache/cassandra/blob/cassandra-1.1.11/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java#L124
>
> On Fri, Jul 12, 2013 at 10:02 AM, cem  wrote:
> > Hi All,
> >
> > Can anyone explain the compression ratio?
> >
> > Is it the "compressed data / original" or "original/ compressed" ? Or
> > something else.
> >
> > thanks a lot.
> >
> > Best Regards,
> > Cem
>
>
>
> --
> Yuki Morishita
>  t:yukim (http://twitter.com/yukim)
>


Compression ratio

2013-07-12 Thread cem
Hi All,

Can anyone explain the compression ratio?

Is it the "compressed data / original" or "original/ compressed" ? Or
something else.

thanks a lot.

Best Regards,
Cem


Dropped mutation messages

2013-06-18 Thread cem
Hi All,

I have a cluster of 5 nodes with C* 1.2.4.

Each node has 4 disks 1 TB each.

I see  a lot of dropped messages after it stores 400 GB  per disk. (1.6 TB
per node).

The recommendation was 500 GB max per node before 1.2.  Datastax says that
we can store terabytes of data per node with 1.2.
http://www.datastax.com/docs/1.2/cluster_architecture/cluster_planning

Do I need to enable anything to leverage from 1.2? Do you have any other
advice?

What should be the path to investigate this?

Thanks in advance!

Best Regards,
Cem.


Re: Is there anyone who implemented time range partitions with column families?

2013-05-29 Thread cem
Thank you very much for the fast answer.

Does playORM use different column families for each partition in Cassandra?

Cem


On Wed, May 29, 2013 at 5:30 PM, Jeremy Powell wrote:

> Cem, yes, you can do this with C*, though you have to handle the logic
> yourself (other libraries might do this for you, seen the dev of playORM
> discuss some things which might be similar).  We use Astyanax
> and programmatically create CFs based on a time period of our choosing that
> makes sense for our system, programmatically drop CFs if/when they are
> outside a certain time period (rather than using C*'s TTL), and write data
> to the different CFs as needed.
>
> ~Jeremy
>
> On Wed, May 29, 2013 at 8:36 AM, cem  wrote:
>
>> Hi All,
>>
>> I used time range partitions 5 years ago with MySQL to clean up data much
>> faster.
>>
>> I had a big FACT table with time range partitions and it was very is to
>> drop old partitions (with archiving) and do some saving on disk.
>>
>> Has anyone implemented such a thing in Cassandra? It would be great if we
>> have that in Cassandra.
>>
>> Best Regards,
>> Cem.
>>
>
>


Is there anyone who implemented time range partitions with column families?

2013-05-29 Thread cem
Hi All,

I used time range partitions 5 years ago with MySQL to clean up data much
faster.

I had a big FACT table with time range partitions and it was very is to
drop old partitions (with archiving) and do some saving on disk.

Has anyone implemented such a thing in Cassandra? It would be great if we
have that in Cassandra.

Best Regards,
Cem.


Re: data clean up problem

2013-05-29 Thread cem
Thanks for the answers!

Cem



On Wed, May 29, 2013 at 1:26 AM, Robert Coli  wrote:

> On Tue, May 28, 2013 at 2:38 PM, Bryan Talbot 
> wrote:
> > I think what you're asking for (efficient removal of TTL'd write-once
> data)
> > is already in the works but not until 2.0 it seems.
>
> If your entire dataset in a keyspace or column family is deleted every
> [small time period], then maybe use TRUNCATE?
>
> Two caveats :
>
> 1) https://issues.apache.org/jira/browse/CASSANDRA-4655 - TRUNCATE
> will leave undelivered hints untouched until 1.2.6
> 2) TRUNCATE will create a snapshot unless you (unsafely!!!
> danger) disable this feature [1]
>
> Alternately, perhaps a datastore with immutable data files is not for you?
> :D
>
> =Rob
> [1] https://issues.apache.org/jira/browse/CASSANDRA-3710
>


Re: data clean up problem

2013-05-28 Thread cem
Thanks for the answer.

Sorry for the misunderstanding. I tried to say I don't send delete request
from the client so it safe to set gc_grace to 0. TTL is used for data clean
up. I am not running a manual compaction. I tried that ones but it took a
lot of time finish and I will not have this amount of off-peek time in the
production to run this. I even set the compaction throughput to unlimited
and it didnt help that much.

Disk size just keeps on growing but I know that there is enough space to
store 1 day data.

What do you think about time rage partitioning? Creating new column family
for each partition and drop when you know that all records are expired.

I have 5 nodes.

Cem.




On Tue, May 28, 2013 at 9:37 PM, Hiller, Dean  wrote:

> Also, how many nodes are you running?
>
> From: cem mailto:cayiro...@gmail.com>>
> Reply-To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" <
> user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
> Date: Tuesday, May 28, 2013 1:17 PM
> To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" <
> user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
> Subject: Re: data clean up problem
>
> Thanks for the answer but it is already set to 0 since I don't do any
> delete.
>
> Cem
>
>
> On Tue, May 28, 2013 at 9:03 PM, Edward Capriolo  <mailto:edlinuxg...@gmail.com>> wrote:
> You need to change the gc_grace time of the column family. It defaults to
> 10 days. By default the tombstones will not go away for 10 days.
>
>
> On Tue, May 28, 2013 at 2:46 PM, cem  cayiro...@gmail.com>> wrote:
> Hi Experts,
>
>
> We have general problem about cleaning up data from the disk. I need to
> free the disk space after retention period and the customer wants to
> dimension the disk space base on that.
>
> After running multiple performance tests with TTL of 1 day we saw that the
> compaction couldn't keep up with the request rate. Disks were getting full
> after 3 days. There were also a lot of sstables that are older than 1 day
> after 3 days.
>
> Things that we tried:
>
> -Change the compaction strategy to leveled. (helped a bit but not much)
>
> -Use big sstable size (10G) with leveled compaction to have more
> aggressive compaction.(helped a bit but not much)
>
> -Upgrade Cassandra from 1.0 to 1.2 to use TTL histograms (didn't help at
> all since it has key overlapping estimation algorithm that generates %100
> match. Although we don't have...)
>
> Our column family structure is like this:
>
> Event_data_cf: (we store event data. Event_id  is randomly generated and
> each event has attributes like location=london)
>
> row  data
>
> event id  data blob
>
> timeseries_cf: (key is the attribute that we want to index. It can be
> location=london, we didnt use secondary indexes because the indexes are
> dynamic.)
>
> row  data
>
> index key   time series of event id (event1_id, event2_id….)
>
> timeseries_inv_cf: (this is used for removing event by event row key. )
>
> row  data
>
> event id  set of index keys
>
> Candidate Solution: Implementing time range partitions.
>
> Each partition will have column family set and will be managed by client.
>
> Suppose that you want to have 7 days retention period. Then you can
> configure the partition size as 1 day and have 7 active partitions at any
> time. Then you can drop inactive partitions (older that 7 days). Dropping
> will immediate remove the data from the disk. (With proper Cassandra.yaml
> configuration)
>
> Storing an event:
>
> Find the current partition p1
>
> store to event_data to Event_data_cf_p1
>
> store to indexes to timeseries_cff_p1
>
> store to inverted indexes to timeseries_inv_cf_p1
>
>
> A time range query with an index:
>
> Find the all partitions belongs to that time range
>
> Do read starting from the first partition until you reach to limit
>
> .
>
> Could you please provide your comments and concerns ?
>
> Is there any other option that we can try?
>
> What do you think about the candidate solution?
>
> Does anyone have the same issue? How would you solve it in another way?
>
>
> Thanks in advance!
>
> Cem
>
>
>


Re: data clean up problem

2013-05-28 Thread cem
Thanks for the answer but it is already set to 0 since I don't do any
delete.

Cem


On Tue, May 28, 2013 at 9:03 PM, Edward Capriolo wrote:

> You need to change the gc_grace time of the column family. It defaults to
> 10 days. By default the tombstones will not go away for 10 days.
>
>
> On Tue, May 28, 2013 at 2:46 PM, cem  wrote:
>
>> Hi Experts,
>>
>> We have general problem about cleaning up data from the disk. I need to
>> free the disk space after retention period and the customer wants to
>> dimension the disk space base on that.
>>
>> After running multiple performance tests with TTL of 1 day we saw that
>> the compaction couldn't keep up with the request rate. Disks were getting
>> full after 3 days. There were also a lot of sstables that are older than 1
>> day after 3 days.
>>
>> Things that we tried:
>>
>> -Change the compaction strategy to leveled. (helped a bit but not much)
>>
>> -Use big sstable size (10G) with leveled compaction to have more
>> aggressive compaction.(helped a bit but not much)
>>
>> -Upgrade Cassandra from 1.0 to 1.2 to use TTL histograms (didn't help at
>> all since it has key overlapping estimation algorithm that generates %100
>> match. Although we don't have...)
>>
>> Our column family structure is like this:
>>
>> Event_data_cf: (we store event data. Event_id  is randomly generated and
>> each event has attributes like location=london)
>>
>> row  data
>>
>> event id  data blob
>>
>> timeseries_cf: (key is the attribute that we want to index. It can be
>> location=london, we didnt use secondary indexes because the indexes are
>> dynamic.)
>>
>> row  data
>>
>> index key   time series of event id (event1_id, event2_id….)
>>
>> timeseries_inv_cf: (this is used for removing event by event row key. )
>>
>> row  data
>>
>> event id  set of index keys
>>
>> Candidate Solution: Implementing time range partitions.
>>
>> Each partition will have column family set and will be managed by client.
>>
>> Suppose that you want to have 7 days retention period. Then you can
>> configure the partition size as 1 day and have 7 active partitions at any
>> time. Then you can drop inactive partitions (older that 7 days). Dropping
>> will immediate remove the data from the disk. (With proper Cassandra.yaml
>> configuration)
>>
>> Storing an event:
>>
>> Find the current partition p1
>>
>> store to event_data to Event_data_cf_p1
>>
>> store to indexes to timeseries_cff_p1
>>
>> store to inverted indexes to timeseries_inv_cf_p1
>>
>>
>> A time range query with an index:
>>
>> Find the all partitions belongs to that time range
>>
>> Do read starting from the first partition until you reach to limit
>>
>> .
>>
>> Could you please provide your comments and concerns ?
>>
>> Is there any other option that we can try?
>>
>> What do you think about the candidate solution?
>>
>> Does anyone have the same issue? How would you solve it in another way?
>>
>>
>> Thanks in advance!
>>
>> Cem
>>
>
>


data clean up problem

2013-05-28 Thread cem
Hi Experts,

We have general problem about cleaning up data from the disk. I need to
free the disk space after retention period and the customer wants to
dimension the disk space base on that.

After running multiple performance tests with TTL of 1 day we saw that the
compaction couldn't keep up with the request rate. Disks were getting full
after 3 days. There were also a lot of sstables that are older than 1 day
after 3 days.

Things that we tried:

-Change the compaction strategy to leveled. (helped a bit but not much)

-Use big sstable size (10G) with leveled compaction to have more aggressive
compaction.(helped a bit but not much)

-Upgrade Cassandra from 1.0 to 1.2 to use TTL histograms (didn't help at
all since it has key overlapping estimation algorithm that generates %100
match. Although we don't have...)

Our column family structure is like this:

Event_data_cf: (we store event data. Event_id  is randomly generated and
each event has attributes like location=london)

row  data

event id  data blob

timeseries_cf: (key is the attribute that we want to index. It can be
location=london, we didnt use secondary indexes because the indexes are
dynamic.)

row  data

index key   time series of event id (event1_id, event2_id….)

timeseries_inv_cf: (this is used for removing event by event row key. )

row  data

event id  set of index keys

Candidate Solution: Implementing time range partitions.

Each partition will have column family set and will be managed by client.

Suppose that you want to have 7 days retention period. Then you can
configure the partition size as 1 day and have 7 active partitions at any
time. Then you can drop inactive partitions (older that 7 days). Dropping
will immediate remove the data from the disk. (With proper Cassandra.yaml
configuration)

Storing an event:

Find the current partition p1

store to event_data to Event_data_cf_p1

store to indexes to timeseries_cff_p1

store to inverted indexes to timeseries_inv_cf_p1


A time range query with an index:

Find the all partitions belongs to that time range

Do read starting from the first partition until you reach to limit

.

Could you please provide your comments and concerns ?

Is there any other option that we can try?

What do you think about the candidate solution?

Does anyone have the same issue? How would you solve it in another way?


Thanks in advance!

Cem


Re: Cassandra 1.2 TTL histogram problem

2013-05-22 Thread cem
Thanks for the answer.

It means that if we use randompartioner it will be very difficult to  find
a sstable without any overlap.

Let me give you an example from my test.

I have ~50 sstables in total and an sstable with droppable ratio 0.9. I use
GUID for key and only insert (no update -delete) so I dont expect a key
in different sstables.

I put extra logging to  AbstractCompactionStrategy to see
the overlaps.size() and keys and remainingKeys:

overlaps.size() is around 30, number of keys for that sstable is around 5 M
and remainingKeys is always 0.

Are you sure that it is a good idea to estimate remainingKeys like that?

Best Regards,
Cem



On Wed, May 22, 2013 at 5:58 PM, Yuki Morishita  wrote:

> > Can method calculate non-overlapping keys as overlapping?
>
> Yes.
> And randomized keys don't matter here since sstables are sorted by
> "token" calculated from key by your partitioner, and the method uses
> sstable's min/max token to estimate overlap.
>
> On Tue, May 21, 2013 at 4:43 PM, cem  wrote:
> > Thank you very much for the swift answer.
> >
> > I have one more question about the second part. Can method calculate
> > non-overlapping keys as overlapping? I mean it uses max and min tokens
> and
> > column count. They can be very close to each other if random keys are
> used.
> >
> > In my use case I generate a GUID for each key and send a single write
> > request.
> >
> > Cem
> >
> > On Tue, May 21, 2013 at 11:13 PM, Yuki Morishita 
> wrote:
> >>
> >> > Why does Cassandra single table compaction skips the keys that are in
> >> > the other sstables?
> >>
> >> because we don't want to resurrect deleted columns. Say, sstable A has
> >> the column with timestamp 1, and sstable B has the same column which
> >> deleted at timestamp 2. Then if we purge that column only from sstable
> >> B, we would see the column with timestamp 1 again.
> >>
> >> > I also dont understand why we have this line in
> worthDroppingTombstones
> >> > method
> >>
> >> What the method is trying to do is to "guess" how many columns that
> >> are not in the rows that don't overlap, without actually going through
> >> every rows in the sstable. We have statistics like column count
> >> histogram, min and max row token for every sstables, we use those in
> >> the method to estimate how many columns the two sstables overlap.
> >> You may have remainingColumnsRatio of 0 when the two sstables overlap
> >> almost entirely.
> >>
> >>
> >> On Tue, May 21, 2013 at 3:43 PM, cem  wrote:
> >> > Hi all,
> >> >
> >> > I have a question about ticket
> >> > https://issues.apache.org/jira/browse/CASSANDRA-3442
> >> >
> >> > Why does Cassandra single table compaction skips the keys that are in
> >> > the
> >> > other sstables? Please correct if I am wrong.
> >> >
> >> > I also dont understand why we have this line in
> worthDroppingTombstones
> >> > method:
> >> >
> >> > double remainingColumnsRatio = ((double) columns) /
> >> > (sstable.getEstimatedColumnCount().count() *
> >> > sstable.getEstimatedColumnCount().mean());
> >> >
> >> > remainingColumnsRatio  is always 0 in my case and the droppableRatio
>  is
> >> > 0.9. Cassandra skips all sstables which are already expired.
> >> >
> >> > This line was introduced by
> >> > https://issues.apache.org/jira/browse/CASSANDRA-4022.
> >> >
> >> > Best Regards,
> >> > Cem
> >>
> >>
> >>
> >> --
> >> Yuki Morishita
> >>  t:yukim (http://twitter.com/yukim)
> >
> >
>
>
>
> --
> Yuki Morishita
>  t:yukim (http://twitter.com/yukim)
>


Re: Cassandra 1.2 TTL histogram problem

2013-05-21 Thread cem
Thank you very much for the swift answer.

I have one more question about the second part. Can method calculate
non-overlapping keys as overlapping? I mean it uses max and min tokens and
column count. They can be very close to each other if random keys are used.

In my use case I generate a GUID for each key and send a single write
request.

Cem

On Tue, May 21, 2013 at 11:13 PM, Yuki Morishita  wrote:

> > Why does Cassandra single table compaction skips the keys that are in
> the other sstables?
>
> because we don't want to resurrect deleted columns. Say, sstable A has
> the column with timestamp 1, and sstable B has the same column which
> deleted at timestamp 2. Then if we purge that column only from sstable
> B, we would see the column with timestamp 1 again.
>
> > I also dont understand why we have this line in worthDroppingTombstones
> method
>
> What the method is trying to do is to "guess" how many columns that
> are not in the rows that don't overlap, without actually going through
> every rows in the sstable. We have statistics like column count
> histogram, min and max row token for every sstables, we use those in
> the method to estimate how many columns the two sstables overlap.
> You may have remainingColumnsRatio of 0 when the two sstables overlap
> almost entirely.
>
>
> On Tue, May 21, 2013 at 3:43 PM, cem  wrote:
> > Hi all,
> >
> > I have a question about ticket
> > https://issues.apache.org/jira/browse/CASSANDRA-3442
> >
> > Why does Cassandra single table compaction skips the keys that are in the
> > other sstables? Please correct if I am wrong.
> >
> > I also dont understand why we have this line in worthDroppingTombstones
> > method:
> >
> > double remainingColumnsRatio = ((double) columns) /
> > (sstable.getEstimatedColumnCount().count() *
> > sstable.getEstimatedColumnCount().mean());
> >
> > remainingColumnsRatio  is always 0 in my case and the droppableRatio  is
> > 0.9. Cassandra skips all sstables which are already expired.
> >
> > This line was introduced by
> > https://issues.apache.org/jira/browse/CASSANDRA-4022.
> >
> > Best Regards,
> > Cem
>
>
>
> --
> Yuki Morishita
>  t:yukim (http://twitter.com/yukim)
>


Cassandra 1.2 TTL histogram problem

2013-05-21 Thread cem
Hi all,

I have a question about ticket
https://issues.apache.org/jira/browse/CASSANDRA-3442

Why does Cassandra single table compaction skips the keys that are in the
other sstables? Please correct if I am wrong.

I also dont understand why we have this line in worthDroppingTombstones
method:

double remainingColumnsRatio = ((double) columns) / (sstable.
getEstimatedColumnCount<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cassandra/cassandra-all/1.2.2/org/apache/cassandra/io/sstable/SSTableReader.java#SSTableReader.getEstimatedColumnCount%28%29>
().count<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cassandra/cassandra-all/1.2.2/org/apache/cassandra/utils/EstimatedHistogram.java#EstimatedHistogram.count%28%29>
() * 
sstable.getEstimatedColumnCount<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cassandra/cassandra-all/1.2.2/org/apache/cassandra/io/sstable/SSTableReader.java#SSTableReader.getEstimatedColumnCount%28%29>
().mean<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cassandra/cassandra-all/1.2.2/org/apache/cassandra/utils/EstimatedHistogram.java#EstimatedHistogram.mean%28%29>
());

remainingColumnsRatio  is always *0 *in my case and the droppableRatio
 is *0.9.
Cassandra skips all sstables which are already expired.*

This line was introduced by
https://issues.apache.org/jira/browse/CASSANDRA-4022.

Best Regards,
Cem


Re: Linear scalability problems

2013-04-04 Thread Cem Cayiroglu
What was the RF before adding nodes?

Sent from my iPhone

On 04 Apr 2013, at 15:12, Anand Somani  wrote:

> We are using a single process with multiple threads, will look at client side 
> delays.
> 
> Thanks
> 
> On Wed, Apr 3, 2013 at 9:30 AM, Tyler Hobbs  wrote:
> If I had to guess, I would say that your client is the bottleneck, not the 
> cluster.  Are you inserting data with multiple threads or processes?
> 
> 
> On Wed, Apr 3, 2013 at 8:49 AM, Anand Somani  wrote:
> Hi,
> 
> I am running some tests trying to scale out our application from using a 3 
> node cluster to 6 node cluster. The thing I observed is that when using a 3 
> node cluster I was able to handle abt 41 req/second, so I added 3 more nodes 
> thinking it should close to double, but instead it only goes upto bat 47 
> req/second!! I am doing something wrong and it is not obvious, so wanted some 
> help in what stats could/should I monitor to tell me things like if a node 
> has more requests or if the load distribution is not random enough?
> 
> Note I am using direct thrift (old code base) and cassandra 1.1.6. The data 
> model is for storing blobs (split across columns) and has around 6 CF, RF=3 
> and all operations are at quorum. Also at the end of the run nodetool ring 
> reports the same data size.
> 
> Thanks
> Anand
> 
> 
> 
> -- 
> Tyler Hobbs
> DataStax
> 


Re: Vnodes - HUNDRED of MapReduce jobs

2013-03-28 Thread cem
Hi Alicia ,

Cassandra input format creates mappers as many as vnodes. It is a known
issue. You need to lower the number of vnodes :(

I have a simple solution for that and ready to write a patch. Should I
create a ticket about that? I don't know the procedure about that.

 Regards,
Cem

On Thu, Mar 28, 2013 at 2:30 PM, Alicia Leong  wrote:

> Hi All,
>
> I have 3 nodes of Cassandra 1.2.3 & edited the cassandra.yaml for vnodes.
>
> When I execute a M/R job .. the console showed HUNDRED of Map tasks.
>
> May I know, is the normal since is vnodes?  If yes, this have slow the M/R
> job to finish/complete.
>
>
> Thanks
>


Re: cassandra performance

2013-03-24 Thread cem
Hi,

Could you provide some other details about your schema design and queries?
It is very hard to tell anything.

Regards,
Cem

On Sun, Mar 24, 2013 at 12:40 PM, dong.yajun  wrote:

> Hello,
>
>  I'd suggest you to take look at the difference between Nosql and RDMS.
>
> Best,
>
> On Sun, Mar 24, 2013 at 5:15 PM, 张刚  wrote:
>
>> Hello,
>> I am new to Cassandra.I do some test on a single machine. I install
>> Cassandra with a binary tarball distribution.
>> I create a CF to store the data that get from MySQL. The CF has the same
>> fields as the table in MySQL. So it looks like a table.
>> I do the same select from the CF in Cassandra and the table in MySQL,and
>> I find the processing time of MySQL is better than Cassandra.
>> So,I wander what are the advantages of Cassandra compare MySQL and how to
>> improve the performance of Cassandra.
>> Is this the right way to use Cassandra.
>>
>>
>
>
> --
> *Ric Dong*
>
>


Re: virtual nodes + map reduce = too many mappers

2013-02-17 Thread cem
Thanks Eric for the appreciation :)

Default split size is 64K rows. ColumnFamilyInputFormat first collects all
tokens and create a split for each. if you have 256 vnode for each node
that it creates 256 splits even if you have no data at all. current split
size will only work if you have a vnode that has more than 64K rows.

Possible solution that came to my mind: We can simply
extend ColumnFamilySplit by adding a list of token ranges instead of one.
Than no need create mapper for each token. Each  mapper can
do multiple range queries.  But I don't know how to combine the range
queries because in the typical range query  you need to set start and end
token. But in the virtual nodes I realized that tokens are not continuous.

Best Regards,
Cem

On Sun, Feb 17, 2013 at 2:47 AM, Edward Capriolo wrote:

> Split size does not have to equal block size.
>
>
> http://hadoop.apache.org/docs/r1.1.1/api/org/apache/hadoop/mapred/lib/CombineFileInputFormat.html
>
> An abstract InputFormat that returns CombineFileSplit's in
> InputFormat.getSplits(JobConf, int) method. Splits are constructed
> from the files under the input paths. A split cannot have files from
> different pools. Each split returned may contain blocks from different
> files. If a maxSplitSize is specified, then blocks on the same node
> are combined to form a single split. Blocks that are left over are
> then combined with other blocks in the same rack. If maxSplitSize is
> not specified, then blocks from the same rack are combined in a single
> split; no attempt is made to create node-local splits. If the
> maxSplitSize is equal to the block size, then this class is similar to
> the default spliting behaviour in Hadoop: each block is a locally
> processed split. Subclasses implement
> InputFormat.getRecordReader(InputSplit, JobConf, Reporter) to
> construct RecordReader's for CombineFileSplit's.
>
> Hive offers a CombinedHiveInputFormat
>
> https://issues.apache.org/jira/browse/HIVE-74
>
> Essentially Combined input formats rock hard. If you have a directory
> with say 2000 files, you do not want 2000 splits, and then the
> overhead of starting stopping 2000 mappers.
>
> If you enable CombineInputFormat you can tune mapred.split.size and
> the number of mappers is based (mostly) on the input size. This gives
> jobs that would create too many map tasks way more throughput, and
> stops them from monopolizing the map slots on the cluster.
>
> It would seem like all the extra splits from the vnode change could be
> combined back together.
>
> On Sat, Feb 16, 2013 at 8:21 PM, Jonathan Ellis  wrote:
> > Wouldn't you have more than 256 splits anyway, given a normal amount of
> data?
> >
> > (Default split size is 64k rows.)
> >
> > On Fri, Feb 15, 2013 at 7:01 PM, Edward Capriolo 
> wrote:
> >> Seems like the hadoop Input format should combine the splits that are
> >> on the same node into the same map task, like Hadoop's
> >> CombinedInputFormat can. I am not sure who recommends vnodes as the
> >> default, because this is now the second problem (that I know of) of
> >> this class where vnodes has extra overhead,
> >> https://issues.apache.org/jira/browse/CASSANDRA-5161
> >>
> >> This seems to be the standard operating practice in c* now, enable
> >> things in the default configuration like new partitioners and newer
> >> features like vnodes, even though they are not heavily tested in the
> >> wild or well understood, then deal with fallout.
> >>
> >>
> >> On Fri, Feb 15, 2013 at 11:52 AM, cem  wrote:
> >>> Hi All,
> >>>
> >>> I have just started to use virtual nodes. I set the number of nodes to
> 256
> >>> as recommended.
> >>>
> >>> The problem that I have is when I run a mapreduce job it creates node
> * 256
> >>> mappers. It creates node * 256 splits. this effects the performance
> since
> >>> the range queries have a lot of overhead.
> >>>
> >>> Any suggestion to improve the performance? It seems like I need to
> lower the
> >>> number of virtual nodes.
> >>>
> >>> Best Regards,
> >>> Cem
> >>>
> >>>
> >
> >
> >
> > --
> > Jonathan Ellis
> > Project Chair, Apache Cassandra
> > co-founder, http://www.datastax.com
> > @spyced
>


virtual nodes + map reduce = too many mappers

2013-02-15 Thread cem
Hi All,

I have just started to use virtual nodes. I set the number of nodes to 256
as recommended.

The problem that I have is when I run a mapreduce job it creates node * 256
mappers. It creates node * 256 splits. this effects the performance since
the range queries have a lot of overhead.

Any suggestion to improve the performance? It seems like I need to lower
the  number of virtual nodes.

Best Regards,
Cem


Counter column families (pending replicate on write stage tasks)

2012-11-12 Thread cem
Hi All,

We are currently facing a performance issue with counter column families. I
see lots of pending ReplicateOnWriteStage tasks in tpstats. Then I disabled
replicate_on_write. It helped a lot. I want to use like that  but I am not
sure how to use it.

I have  3 node setup with replication factor 2. I have listed my actions
when this option is disable.

1. Using consistency level ALL for read operations. Since each
replica might have different  values.
2. Running node repair every day to sync all counters + set read repair
change to 1.0

 Please comment, correct and add to that list.

Best Regards,
Cem


Re: All host pools Marked Down

2012-05-29 Thread cem
It should retry but it doesn't. It is also clear that it delegates the
retry to the client " *Retry burden pushed out to client* " you can also
check Hector code. I wrote a separate service that retries when this
exception occurs.

I think you have a problem with your load balancer. Try to connect with
telnet.

Cem.

On Tue, May 29, 2012 at 3:06 PM, Shubham Srivastava <
shubham.srivast...@makemytrip.com> wrote:

>  My webapp connects to the LoadBalancer IP which has the actual nodes in
> its pool.
>
>  If there is by any chance a connection break then will hector not retry
> to re-establish connection I guess it should retry every XX seconds based
> on  retryDownedHostsDelayInSeconds .
>
>  Regards,
> Shubham
>  --
> *From:* cem [cayiro...@gmail.com]
> *Sent:* Tuesday, May 29, 2012 6:13 PM
> *To:* user@cassandra.apache.org
> *Subject:* Re: All host pools Marked Down
>
>   Since all hosts are seem to be down, Hector will not do retry. There
> should be at least one node up in a cluster. Make sure that you have a
> proper connection from your webapps to your cluster.
>
>  Cem.
>
> On Tue, May 29, 2012 at 1:46 PM, Shubham Srivastava <
> shubham.srivast...@makemytrip.com> wrote:
>
>>  Any takers on this. Hitting us badly right now.
>>
>>  Regards,
>> Shubham
>>  --
>> *From:* Shubham Srivastava
>> *Sent:* Tuesday, May 29, 2012 12:55 PM
>> *To:* user@cassandra.apache.org
>> *Subject:* All host pools Marked Down
>>
>>   I am getting this exception lot of times
>>
>>
>>
>> *me.prettyprint.hector.api.exceptions.HectorException: All host pools
>> marked down. Retry burden pushed out to client.*
>>
>> * *
>>
>> What this causes is no data read/write from the ring from my WebApp.
>>
>>
>>
>> I have retries as 3 and can see that max retries 3 getting exhausted with
>> the same error as above.
>>
>>
>>
>> Checked cfstats and tpstats nothing seem to be a problem.
>>
>>
>>
>> However through the logs I see lot of time taken in compactions like the
>> below
>>
>>
>>
>> *INFO [CompactionExecutor:73] 2012-05-29 11:03:01,605
>> CompactionManager.java (line 608) Compacted to
>> /opt/cassandra-data/data/LH/UserPrefrences-tmp-g-8906-Data.db.  36,986,932
>> to 36,961,554 (~99% of original) bytes for 132,743 keys.  Time: 112,910ms.
>> *
>>
>>
>>
>> The time taken here seems pretty high. Will this cause a pause or read
>> timeout etc.
>>
>>
>>
>> I have the connection from my web app through a hardware loadbalancer .
>> Cassandra version is 0.8.6 with multi-DC ring on 6 nodes each in one DC.
>>
>> CL:1 and RF:3.
>>
>>
>>
>> Memeory:8Gb heap -> 14Gb Server memory with 8Core CPU.
>>
>>
>>
>> How do I move ahead in this.
>>
>>
>>
>> *Shubham Srivastava* *|* Technical Lead - Technology Development
>>
>> +91 124 4910 548   |  MakeMyTrip.com, 243 SP Infocity, Udyog Vihar Phase
>> 1, Gurgaon, Haryana - 122 016, India
>>
>> [image: http://www.mailmktg.makemytrip.com/signature/images/bulb.gif]*What's
>> new?* My Trip Rewards - An exclusive loyalty program for MakeMyTrip
>> customers. <https://rewards.makemytrip.com/MTR>
>>
>> [image:
>> http://www.mailmktg.makemytrip.com/signature/images/MMT-signature-footer-V4.gif]<http://www.makemytrip.com/>
>>
>> [image: 
>> http://www.mailmktg.makemytrip.com/signature/images/map-icon.gif]<http://www.makemytrip.com/support/gurgaon-travel-agent-office.php>
>> *Office Map*
>>
>> [image:
>> http://www.mailmktg.makemytrip.com/signature/images/facebook-icon.gif]<http://www.facebook.com/pages/MakeMyTrip-Deals/120740541030?ref=search&sid=10077980239.1422657277..1>
>> *Facebook*
>>
>> [image:
>> http://www.mailmktg.makemytrip.com/signature/images/twitter-icon.gif]<http://twitter.com/makemytripdeals>
>> *Twitter*
>>
>>
>>
>
>
<><><><><>

Re: All host pools Marked Down

2012-05-29 Thread cem
Since all hosts are seem to be down, Hector will not do retry. There should
be at least one node up in a cluster. Make sure that you have a proper
connection from your webapps to your cluster.

Cem.

On Tue, May 29, 2012 at 1:46 PM, Shubham Srivastava <
shubham.srivast...@makemytrip.com> wrote:

>  Any takers on this. Hitting us badly right now.
>
>  Regards,
> Shubham
>  --
> *From:* Shubham Srivastava
> *Sent:* Tuesday, May 29, 2012 12:55 PM
> *To:* user@cassandra.apache.org
> *Subject:* All host pools Marked Down
>
>   I am getting this exception lot of times
>
>
>
> *me.prettyprint.hector.api.exceptions.HectorException: All host pools
> marked down. Retry burden pushed out to client.*
>
> * *
>
> What this causes is no data read/write from the ring from my WebApp.
>
>
>
> I have retries as 3 and can see that max retries 3 getting exhausted with
> the same error as above.
>
>
>
> Checked cfstats and tpstats nothing seem to be a problem.
>
>
>
> However through the logs I see lot of time taken in compactions like the
> below
>
>
>
> *INFO [CompactionExecutor:73] 2012-05-29 11:03:01,605
> CompactionManager.java (line 608) Compacted to
> /opt/cassandra-data/data/LH/UserPrefrences-tmp-g-8906-Data.db.  36,986,932
> to 36,961,554 (~99% of original) bytes for 132,743 keys.  Time: 112,910ms.
> *
>
>
>
> The time taken here seems pretty high. Will this cause a pause or read
> timeout etc.
>
>
>
> I have the connection from my web app through a hardware loadbalancer .
> Cassandra version is 0.8.6 with multi-DC ring on 6 nodes each in one DC.
>
> CL:1 and RF:3.
>
>
>
> Memeory:8Gb heap -> 14Gb Server memory with 8Core CPU.
>
>
>
> How do I move ahead in this.
>
>
>
> *Shubham Srivastava* *|* Technical Lead - Technology Development
>
> +91 124 4910 548   |  MakeMyTrip.com, 243 SP Infocity, Udyog Vihar Phase
> 1, Gurgaon, Haryana - 122 016, India
>
> [image: http://www.mailmktg.makemytrip.com/signature/images/bulb.gif]*What's
> new?* My Trip Rewards - An exclusive loyalty program for MakeMyTrip
> customers. <https://rewards.makemytrip.com/MTR>
>
> [image:
> http://www.mailmktg.makemytrip.com/signature/images/MMT-signature-footer-V4.gif]<http://www.makemytrip.com/>
>
> [image: 
> http://www.mailmktg.makemytrip.com/signature/images/map-icon.gif]<http://www.makemytrip.com/support/gurgaon-travel-agent-office.php>
> *Office Map*
>
> [image:
> http://www.mailmktg.makemytrip.com/signature/images/facebook-icon.gif]<http://www.facebook.com/pages/MakeMyTrip-Deals/120740541030?ref=search&sid=10077980239.1422657277..1>
> *Facebook*
>
> [image:
> http://www.mailmktg.makemytrip.com/signature/images/twitter-icon.gif]<http://twitter.com/makemytripdeals>
> *Twitter*
>
>
>
<><><><><>

Re: TTL 3 hours + GC grace 0

2012-03-12 Thread cem
Thank you for the swift response.

Cem.

On Sun, Mar 11, 2012 at 11:03 PM, Peter Schuller <
peter.schul...@infidyne.com> wrote:

> > I am using TTL 3 hours and GC grace 0 for a CF. I have a normal CF that
> has
> > records with TTL 3 hours and I dont send any delete request. I just
> wonder
> > if using GC grace 0 will cause any problem except extra Memory/IO/network
> > load. I know that gc grace is for not transferring deleted records after
> a
> > down node comes back. So  I assumed that transferring expired records
> will
> > not cause any problem.
> >
> > Do you have any idea? Thank you!
>
> If you do not perform any deletes at all, a GC grace of 0 should be
> fine. But if you don't, the GC grace should not really be relevant
> either. So I suggest leaving GC grace high in case you do start doing
> deletes.
>
> Columns with TTL:s will disappear regardless of GC grace.
>
> If you do decide to run with short GC grace, be aware of the
> consequencues:
> http://wiki.apache.org/cassandra/Operations#Dealing_with_the_consequences_of_nodetool_repair_not_running_within_GCGraceSeconds
>
> --
> / Peter Schuller (@scode, http://worldmodscode.wordpress.com)
>


TTL 3 hours + GC grace 0

2012-03-11 Thread cem
Hi All,

I am using TTL 3 hours and GC grace 0 for a CF. I have a normal CF that has
records with TTL 3 hours and I dont send any delete request. I just wonder
if using GC grace 0 will cause any problem except extra Memory/IO/network
load. I know that gc grace is for not transferring deleted records after a
down node comes back. So  I assumed that transferring expired records will
not cause any problem.

Do you have any idea? Thank you!

Regards,
Cem.