Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 25CE4DC63 for ; Fri, 28 Sep 2012 14:39:52 +0000 (UTC) Received: (qmail 69342 invoked by uid 500); 28 Sep 2012 14:39:49 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 69316 invoked by uid 500); 28 Sep 2012 14:39:49 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 69306 invoked by uid 99); 28 Sep 2012 14:39:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2012 14:39:49 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=FSL_RCVD_USER,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: 209.85.215.44 is neither permitted nor denied by domain of tamar@tok-media.com) Received: from [209.85.215.44] (HELO mail-la0-f44.google.com) (209.85.215.44) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2012 14:39:42 +0000 Received: by lamb11 with SMTP id b11so1151813lam.31 for ; Fri, 28 Sep 2012 07:39:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:x-gm-message-state; bh=XUXnAtTEoYKFmLmIoReISM1xjrhYRnQbFBahPNszXIw=; b=SNczPfBegoKqkdpnZhI1vbCvoxgzezH2bvsPofob0xHAW8VcUsUqipbobQpepz5snp Dy8JZ4iYFlvfdafm9x/vftMbX322ow5o2YQyscN9v521Qyn7o4nEl2aLLTVp4bW/5WDB iYsv2tSeeegTvPpnM3Ry0CXxs3KR6t8zPu7qAXUAG2q8xS7ZeTJUekMa1PlUnePopygh QQptC6x4xSoNpzgVpocU320n+z3x8ARjW9TIpj8IjTOgjfFzjXSJD8N4kKp9q0k/71ap 2PBUhDtq+yaBZYoZq5Nlk9nltze8JBjGKMGMMrZOgP+4I+ZoZFRedWYfCEF4BnfB3ioa q/Fg== Received: by 10.152.131.37 with SMTP id oj5mr6030208lab.14.1348843161459; Fri, 28 Sep 2012 07:39:21 -0700 (PDT) MIME-Version: 1.0 Received: by 10.112.47.42 with HTTP; Fri, 28 Sep 2012 07:38:58 -0700 (PDT) In-Reply-To: References: From: Tamar Fraenkel Date: Fri, 28 Sep 2012 16:38:58 +0200 Message-ID: Subject: Re: compression To: user@cassandra.apache.org Content-Type: multipart/related; boundary=f46d042c6b8d7f1d5b04cac40510 X-Gm-Message-State: ALoCoQkpcOYfhCEcq7x7k4GfFRqJznTL11nmlJiuPBrce6S247jJndCc/tDJPeBAfa7BhlOt1E2w --f46d042c6b8d7f1d5b04cac40510 Content-Type: multipart/alternative; boundary=f46d042c6b8d7f1d5804cac4050f --f46d042c6b8d7f1d5804cac4050f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi! The situation didn't resolve, does anyone has a clue? Thanks *Tamar Fraenkel * Senior Software Engineer, TOK Media [image: Inline image 1] tamar@tok-media.com Tel: +972 2 6409736 Mob: +972 54 8356490 Fax: +972 2 5612956 On Thu, Sep 27, 2012 at 10:42 AM, Tamar Fraenkel wrote= : > Hi! > First, the problem is still there, altough I checked and all node agree o= n > the schema. > This is from ls -l > Good Node > -rw-r--r-- 1 cassandra cassandra 606 2012-09-27 08:01 > tk_usus_user-hc-269-CompressionInfo.db > -rw-r--r-- 1 cassandra cassandra 2246431 2012-09-27 08:01 > tk_usus_user-hc-269-Data.db > -rw-r--r-- 1 cassandra cassandra 11056 2012-09-27 08:01 > tk_usus_user-hc-269-Filter.db > -rw-r--r-- 1 cassandra cassandra 129792 2012-09-27 08:01 > tk_usus_user-hc-269-Index.db > -rw-r--r-- 1 cassandra cassandra 4336 2012-09-27 08:01 > tk_usus_user-hc-269-Statistics.db > > Node 2 > -rw-r--r-- 1 cassandra cassandra 4592393 2012-09-27 08:01 > tk_usus_user-hc-268-Data.db > -rw-r--r-- 1 cassandra cassandra 69 2012-09-27 08:01 > tk_usus_user-hc-268-Digest.sha1 > -rw-r--r-- 1 cassandra cassandra 11056 2012-09-27 08:01 > tk_usus_user-hc-268-Filter.db > -rw-r--r-- 1 cassandra cassandra 129792 2012-09-27 08:01 > tk_usus_user-hc-268-Index.db > -rw-r--r-- 1 cassandra cassandra 4336 2012-09-27 08:01 > tk_usus_user-hc-268-Statistics.db > > Node 3 > -rw-r--r-- 1 cassandra cassandra 4592393 2012-09-27 08:01 > tk_usus_user-hc-278-Data.db > -rw-r--r-- 1 cassandra cassandra 69 2012-09-27 08:01 > tk_usus_user-hc-278-Digest.sha1 > -rw-r--r-- 1 cassandra cassandra 11056 2012-09-27 08:01 > tk_usus_user-hc-278-Filter.db > -rw-r--r-- 1 cassandra cassandra 129792 2012-09-27 08:01 > tk_usus_user-hc-278-Index.db > -rw-r--r-- 1 cassandra cassandra 4336 2012-09-27 08:01 > tk_usus_user-hc-278-Statistics.db > > Looking at the logs, on the "good node" I can see > > INFO [MigrationStage:1] 2012-09-24 10:08:16,511 Migration.java (line 119= ) > Applying migration c22413b0-062f-11e2-0000-1bcb936807db Update column > family to org.apache.cassandra.config.CFMetaData@1dbdcde9 > [cfId=3D1016,ksName=3Dtok,cfName=3Dtk_usus_user,cfType=3DStandard,compara= tor=3Dorg.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db= .marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type),subcolumncompar= ator=3D,comment=3D,rowCacheSize=3D0.0,keyCacheSize=3D200000.0,readRep= airChance=3D1.0,replicateOnWrite=3Dtrue,gcGraceSeconds=3D864000,defaultVali= dator=3Dorg.apache.cassandra.db.marshal.UTF8Type,keyValidator=3Dorg.apache.= cassandra.db.marshal.UUIDType,minCompactionThreshold=3D4,maxCompactionThres= hold=3D32,rowCacheSavePeriodInSeconds=3D0,keyCacheSavePeriodInSeconds=3D144= 00,rowCacheKeysToSave=3D2147483647,rowCacheProvider=3Dorg.apache.cassandra.= cache.SerializingCacheProvider@3505231c,mergeShardsChance=3D0.1,keyAlias=3D= java.nio.HeapByteBuffer[pos=3D485 > lim=3D488 cap=3D653],column_metadata=3D{},compactionStrategyClass=3Dclass > org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactio= nStrategyOptions=3D{},compressionOptions=3D{sstable_compression=3Dorg.apach= e.cassandra.io.compress.SnappyCompressor, > chunk_length_kb=3D64},bloomFilterFpChance=3D] > > But same can be seen in the logs of the two other nodes: > INFO [MigrationStage:1] 2012-09-24 10:08:16,767 Migration.java (line 119= ) > Applying migration c22413b0-062f-11e2-0000-1bcb936807db Update column > family to org.apache.cassandra.config.CFMetaData@24fbb95d > [cfId=3D1016,ksName=3Dtok,cfName=3Dtk_usus_user,cfType=3DStandard,compara= tor=3Dorg.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db= .marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type),subcolumncompar= ator=3D,comment=3D,rowCacheSize=3D0.0,keyCacheSize=3D200000.0,readRep= airChance=3D1.0,replicateOnWrite=3Dtrue,gcGraceSeconds=3D864000,defaultVali= dator=3Dorg.apache.cassandra.db.marshal.UTF8Type,keyValidator=3Dorg.apache.= cassandra.db.marshal.UUIDType,minCompactionThreshold=3D4,maxCompactionThres= hold=3D32,rowCacheSavePeriodInSeconds=3D0,keyCacheSavePeriodInSeconds=3D144= 00,rowCacheKeysToSave=3D2147483647,rowCacheProvider=3Dorg.apache.cassandra.= cache.SerializingCacheProvider@a469ba3,mergeShardsChance=3D0.1,keyAlias=3Dj= ava.nio.HeapByteBuffer[pos=3D0 > lim=3D3 cap=3D3],column_metadata=3D{},compactionStrategyClass=3Dclass > org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactio= nStrategyOptions=3D{},compressionOptions=3D{sstable_compression=3Dorg.apach= e.cassandra.io.compress.SnappyCompressor, > chunk_length_kb=3D64},bloomFilterFpChance=3D] > > INFO [MigrationStage:1] 2012-09-24 10:08:16,705 Migration.java (line 119= ) > Applying migration c22413b0-062f-11e2-0000-1bcb936807db Update column > family to org.apache.cassandra.config.CFMetaData@216b6a58 > [cfId=3D1016,ksName=3Dtok,cfName=3Dtk_usus_user,cfType=3DStandard,compara= tor=3Dorg.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db= .marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type),subcolumncompar= ator=3D,comment=3D,rowCacheSize=3D0.0,keyCacheSize=3D200000.0,readRep= airChance=3D1.0,replicateOnWrite=3Dtrue,gcGraceSeconds=3D864000,defaultVali= dator=3Dorg.apache.cassandra.db.marshal.UTF8Type,keyValidator=3Dorg.apache.= cassandra.db.marshal.UUIDType,minCompactionThreshold=3D4,maxCompactionThres= hold=3D32,rowCacheSavePeriodInSeconds=3D0,keyCacheSavePeriodInSeconds=3D144= 00,rowCacheKeysToSave=3D2147483647,rowCacheProvider=3Dorg.apache.cassandra.= cache.SerializingCacheProvider@1312c88c,mergeShardsChance=3D0.1,keyAlias=3D= java.nio.HeapByteBuffer[pos=3D0 > lim=3D3 cap=3D3],column_metadata=3D{},compactionStrategyClass=3Dclass > org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactio= nStrategyOptions=3D{},compressionOptions=3D{sstable_compression=3Dorg.apach= e.cassandra.io.compress.SnappyCompressor, > chunk_length_kb=3D64},bloomFilterFpChance=3D] > > > I can also see scrub messages in logs > Good node: > INFO [CompactionExecutor:1774] 2012-09-24 10:09:05,402 > CompactionManager.java (line 476) Scrubbing > SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_user-hc-264-Data.= db') > INFO [CompactionExecutor:1774] 2012-09-24 10:09:05,934 > CompactionManager.java (line 658) Scrub of > SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_user-hc-264-Data.= db') > complete: 4868 rows in new sstable and 0 empty (tombstoned) rows dropped > > Other nodes > > INFO [CompactionExecutor:1800] 2012-09-24 10:09:11,789 > CompactionManager.java (line 476) Scrubbing > SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_user-hc-260-Data.= db') > INFO [CompactionExecutor:1800] 2012-09-24 10:09:12,464 > CompactionManager.java (line 658) Scrub of > SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_user-hc-260-Data.= db') > complete: 4868 rows in new sstable and 0 empty (tombstoned) rows dropped > > INFO [CompactionExecutor:1687] 2012-09-24 10:09:16,235 > CompactionManager.java (line 476) Scrubbing > SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_user-hc-271-Data.= db') > INFO [CompactionExecutor:1687] 2012-09-24 10:09:16,898 > CompactionManager.java (line 658) Scrub of > SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_user-hc-271-Data.= db') > compete: 4868 rows in new sstable and 0 empty (tombstoned) rows dropped > > Any idea? > Thanks!! > > *Tamar Fraenkel * > Senior Software Engineer, TOK Media > > [image: Inline image 1] > > > tamar@tok-media.com > Tel: +972 2 6409736 > Mob: +972 54 8356490 > Fax: +972 2 5612956 > > > > > > On Wed, Sep 26, 2012 at 3:40 AM, aaron morton wr= ote: > >> Check the logs on nodes 2 and 3 to see if the scrub started. The logs o= n >> 1 will be a good help with that. >> >> Cheers >> >> ----------------- >> Aaron Morton >> Freelance Developer >> @aaronmorton >> http://www.thelastpickle.com >> >> On 24/09/2012, at 10:31 PM, Tamar Fraenkel wrote: >> >> Hi! >> I ran >> UPDATE COLUMN FAMILY cf_name WITH >> compression_options=3D{sstable_compression:SnappyCompressor, >> chunk_length_kb:64}; >> >> I then ran on all my nodes (3) >> sudo nodetool -h localhost scrub tok cf_name >> >> I have replication factor 3. The size of the data on disk was cut in hal= f >> in the first node and in the jmx I can see that indeed the compression >> ration is 0.46. But on nodes 2 and 3 nothing happened. In the jmx I can = see >> that compression ratio is 0 and the size of the files of disk stayed the >> same. >> >> In cli >> >> ColumnFamily: cf_name >> Key Validation Class: org.apache.cassandra.db.marshal.UUIDType >> Default column value validator: >> org.apache.cassandra.db.marshal.UTF8Type >> Columns sorted by: >> org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.ma= rshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type) >> Row cache size / save period in seconds / keys to save : 0.0/0/all >> Row Cache Provider: >> org.apache.cassandra.cache.SerializingCacheProvider >> Key cache size / save period in seconds: 200000.0/14400 >> GC grace seconds: 864000 >> Compaction min/max thresholds: 4/32 >> Read repair chance: 1.0 >> Replicate on write: true >> Bloom Filter FP chance: default >> Built indexes: [] >> Compaction Strategy: >> org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy >> Compression Options: >> chunk_length_kb: 64 >> sstable_compression: >> org.apache.cassandra.io.compress.SnappyCompressor >> >> Can anyone help? >> Thanks >> >> *Tamar Fraenkel * >> Senior Software Engineer, TOK Media >> >> >> >> >> tamar@tok-media.com >> Tel: +972 2 6409736 >> Mob: +972 54 8356490 >> Fax: +972 2 5612956 >> >> >> >> >> >> On Mon, Sep 24, 2012 at 8:37 AM, Tamar Fraenkel wro= te: >> >>> Thanks all, that helps. Will start with one - two CFs and let you know >>> the effect >>> >>> >>> *Tamar Fraenkel * >>> Senior Software Engineer, TOK Media >>> >>> >>> >>> >>> tamar@tok-media.com >>> Tel: +972 2 6409736 >>> Mob: +972 54 8356490 >>> Fax: +972 2 5612956 >>> >>> >>> >>> >>> >>> On Sun, Sep 23, 2012 at 8:21 PM, Hiller, Dean wro= te: >>> >>>> As well as your unlimited column names may all have the same prefix, >>>> right? Like "accounts".rowkey56, "accounts".rowkey78, etc. etc. so th= e >>>> "accounts gets a ton of compression then. >>>> >>>> Later, >>>> Dean >>>> >>>> From: Tyler Hobbs > >>>> Reply-To: "user@cassandra.apache.org= " >>>> > >>>> Date: Sunday, September 23, 2012 11:46 AM >>>> To: "user@cassandra.apache.org" < >>>> user@cassandra.apache.org> >>>> Subject: Re: compression >>>> >>>> column metadata, you're still likely to get a reasonable amount of >>>> compression. This is especially true if there is some amount of repet= ition >>>> in the column names, values, or TTLs in wide rows. Compression will a= lmost >>>> always be beneficial unless you're already somehow CPU bound or are us= ing >>>> large column values that are high in entropy, such as pre-compressed o= r >>>> encrypted data. >>>> >>> >>> >> >> > --f46d042c6b8d7f1d5804cac4050f Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hi!
The situation didn't resolve, does anyone has a= clue?
Thanks

= Tamar Fraenkel=A0
Senior Software Engineer, TOK Media=A0

3D"Inline

tamar@tok-media.com<= /a>
Tel:=A0=A0=A0+972 2 6409736=A0
Mob:= =A0=A0+972 54 8356490=A0
Fax:=A0=A0=A0+972 2 5612956=A0




On Thu, Sep 27, 2012 at 10:42 AM, Tamar = Fraenkel <tamar@tok-media.com> wrote:
Hi!
First, the problem is still there, altough I checke= d and all node agree on the schema.
This is from ls -l
Good Node
-= rw-r--r-- 1 cassandra cassandra=A0=A0=A0=A0=A0=A0=A0 606 2012-09-27 08:01 t= k_usus_user-hc-269-CompressionInfo.db
-rw-r--r-- 1 cassandra cassandra=A0=A0=A0 2246431 2012-09-27 08:01 tk_usus_= user-hc-269-Data.db
-rw-r--r-- 1 cassandra cassandra=A0=A0=A0=A0=A0 1105= 6 2012-09-27 08:01 tk_usus_user-hc-269-Filter.db
-rw-r--r-- 1 cassandra = cassandra=A0=A0=A0=A0 129792 2012-09-27 08:01 tk_usus_user-hc-269-Index.db<= br> -rw-r--r-- 1 cassandra cassandra=A0=A0=A0=A0=A0=A0 4336 2012-09-27 08:01 tk= _usus_user-hc-269-Statistics.db

Node 2
-rw-r--r-- 1 cassandra cas= sandra=A0=A0=A0 4592393 2012-09-27 08:01 tk_usus_user-hc-268-Data.db
-rw= -r--r-- 1 cassandra cassandra=A0=A0=A0=A0=A0=A0=A0=A0 69 2012-09-27 08:01 t= k_usus_user-hc-268-Digest.sha1
-rw-r--r-- 1 cassandra cassandra=A0=A0=A0=A0=A0 11056 2012-09-27 08:01 tk_u= sus_user-hc-268-Filter.db
-rw-r--r-- 1 cassandra cassandra=A0=A0=A0=A0 1= 29792 2012-09-27 08:01 tk_usus_user-hc-268-Index.db
-rw-r--r-- 1 cassand= ra cassandra=A0=A0=A0=A0=A0=A0 4336 2012-09-27 08:01 tk_usus_user-hc-268-St= atistics.db

Node 3
-rw-r--r-- 1 cassandra cassandra=A0=A0 4592393 2012-09-27 08:= 01 tk_usus_user-hc-278-Data.db
-rw-r--r-- 1 cassandra cassandra=A0=A0=A0= =A0=A0=A0=A0 69 2012-09-27 08:01 tk_usus_user-hc-278-Digest.sha1
-rw-r--= r-- 1 cassandra cassandra=A0=A0=A0=A0 11056 2012-09-27 08:01 tk_usus_user-h= c-278-Filter.db
-rw-r--r-- 1 cassandra cassandra=A0=A0=A0 129792 2012-09-27 08:01 tk_usus_u= ser-hc-278-Index.db
-rw-r--r-- 1 cassandra cassandra=A0=A0=A0=A0=A0 4336= 2012-09-27 08:01 tk_usus_user-hc-278-Statistics.db

Looking at the l= ogs, on the "good node" I can see

=A0INFO [MigrationStage:1] 2012-09-24 10:08:16,511 Migration.java (line= 119) Applying migration c22413b0-062f-11e2-0000-1bcb936807db Update column= family to org.apache.cassandra.config.CFMetaData@1dbdcde9[cfId=3D1016,ksNa= me=3Dtok,cfName=3Dtk_usus_user,cfType=3DStandard,comparator=3Dorg.apache.ca= ssandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,o= rg.apache.cassandra.db.marshal.UTF8Type),subcolumncomparator=3D<null>= ,comment=3D,rowCacheSize=3D0.0,keyCacheSize=3D200000.0,readRepairChance=3D1= .0,replicateOnWrite=3Dtrue,gcGraceSeconds=3D864000,defaultValidator=3Dorg.a= pache.cassandra.db.marshal.UTF8Type,keyValidator=3Dorg.apache.cassandra.db.= marshal.UUIDType,minCompactionThreshold=3D4,maxCompactionThreshold=3D32,row= CacheSavePeriodInSeconds=3D0,keyCacheSavePeriodInSeconds=3D14400,rowCacheKe= ysToSave=3D2147483647,rowCacheProvider=3Dorg.apache.cassandra.cache.Seriali= zingCacheProvider@3505231c,mergeShardsChance=3D0.1,keyAlias=3Djava.nio.Heap= ByteBuffer[pos=3D485 lim=3D488 cap=3D653],column_metadata=3D{},compactionSt= rategyClass=3Dclass org.apache.cassandra.db.compaction.SizeTieredCompaction= Strategy,compactionStrategyOptions=3D{},compressionOptions=3D{sstable_compr= ession=3Dorg.apache.cassandra.io.compress.SnappyCompressor, chunk_length_kb= =3D64},bloomFilterFpChance=3D<null>]

But same can be seen in the logs of the two other nodes:
=A0INFO [Mi= grationStage:1] 2012-09-24 10:08:16,767 Migration.java (line 119) Applying = migration c22413b0-062f-11e2-0000-1bcb936807db Update column family to org.= apache.cassandra.config.CFMetaData@24fbb95d[cfId=3D1016,ksName=3Dtok,cfName= =3Dtk_usus_user,cfType=3DStandard,comparator=3Dorg.apache.cassandra.db.mars= hal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassa= ndra.db.marshal.UTF8Type),subcolumncomparator=3D<null>,comment=3D,row= CacheSize=3D0.0,keyCacheSize=3D200000.0,readRepairChance=3D1.0,replicateOnW= rite=3Dtrue,gcGraceSeconds=3D864000,defaultValidator=3Dorg.apache.cassandra= .db.marshal.UTF8Type,keyValidator=3Dorg.apache.cassandra.db.marshal.UUIDTyp= e,minCompactionThreshold=3D4,maxCompactionThreshold=3D32,rowCacheSavePeriod= InSeconds=3D0,keyCacheSavePeriodInSeconds=3D14400,rowCacheKeysToSave=3D2147= 483647,rowCacheProvider=3Dorg.apache.cassandra.cache.SerializingCacheProvid= er@a469ba3,mergeShardsChance=3D0.1,keyAlias=3Djava.nio.HeapByteBuffer[pos= =3D0 lim=3D3 cap=3D3],column_metadata=3D{},compactionStrategyClass=3Dclass = org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactionS= trategyOptions=3D{},compressionOptions=3D{sstable_compression=3Dorg.apache.= cassandra.io.compress.SnappyCompressor, chunk_length_kb=3D64},bloomFilterFp= Chance=3D<null>]

=A0INFO [MigrationStage:1] 2012-09-24 10:08:16,705 Migration.java (line= 119) Applying migration c22413b0-062f-11e2-0000-1bcb936807db Update column= family to org.apache.cassandra.config.CFMetaData@216b6a58[cfId=3D1016,ksNa= me=3Dtok,cfName=3Dtk_usus_user,cfType=3DStandard,comparator=3Dorg.apache.ca= ssandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,o= rg.apache.cassandra.db.marshal.UTF8Type),subcolumncomparator=3D<null>= ,comment=3D,rowCacheSize=3D0.0,keyCacheSize=3D200000.0,readRepairChance=3D1= .0,replicateOnWrite=3Dtrue,gcGraceSeconds=3D864000,defaultValidator=3Dorg.a= pache.cassandra.db.marshal.UTF8Type,keyValidator=3Dorg.apache.cassandra.db.= marshal.UUIDType,minCompactionThreshold=3D4,maxCompactionThreshold=3D32,row= CacheSavePeriodInSeconds=3D0,keyCacheSavePeriodInSeconds=3D14400,rowCacheKe= ysToSave=3D2147483647,rowCacheProvider=3Dorg.apache.cassandra.cache.Seriali= zingCacheProvider@1312c88c,mergeShardsChance=3D0.1,keyAlias=3Djava.nio.Heap= ByteBuffer[pos=3D0 lim=3D3 cap=3D3],column_metadata=3D{},compactionStrategy= Class=3Dclass org.apache.cassandra.db.compaction.SizeTieredCompactionStrate= gy,compactionStrategyOptions=3D{},compressionOptions=3D{sstable_compression= =3Dorg.apache.cassandra.io.compress.SnappyCompressor, chunk_length_kb=3D64}= ,bloomFilterFpChance=3D<null>]


I can also see scrub messages in logs
Good node:
=A0INFO [Com= pactionExecutor:1774] 2012-09-24 10:09:05,402 CompactionManager.java (line = 476) Scrubbing SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_= user-hc-264-Data.db')
=A0INFO [CompactionExecutor:1774] 2012-09-24 10:09:05,934 CompactionManager= .java (line 658) Scrub of SSTableReader(path=3D'/raid0/cassandra/data/t= ok/tk_usus_user-hc-264-Data.db') complete: 4868 rows in new sstable and= 0 empty (tombstoned) rows dropped

Other nodes

=A0INFO [CompactionExecutor:1800] 2012-09-24 10:09:1= 1,789 CompactionManager.java (line 476) Scrubbing SSTableReader(path=3D'= ;/raid0/cassandra/data/tok/tk_usus_user-hc-260-Data.db')
=A0INFO [Co= mpactionExecutor:1800] 2012-09-24 10:09:12,464 CompactionManager.java (line= 658) Scrub of SSTableReader(path=3D'/raid0/cassandra/data/tok/tk_usus_= user-hc-260-Data.db') complete: 4868 rows in new sstable and 0 empty (t= ombstoned) rows dropped

=A0INFO [CompactionExecutor:1687] 2012-09-24 10:09:16,235 CompactionMan= ager.java (line 476) Scrubbing SSTableReader(path=3D'/raid0/cassandra/d= ata/tok/tk_usus_user-hc-271-Data.db')
=A0INFO [CompactionExecutor:16= 87] 2012-09-24 10:09:16,898 CompactionManager.java (line 658) Scrub of SSTa= bleReader(path=3D'/raid0/cassandra/data/tok/tk_usus_user-hc-271-Data.db= ') compete: 4868 rows in new sstable and 0 empty (tombstoned) rows drop= ped

Any idea?
Thanks!!

Tamar Fraenkel=A0
Senior Software Enginee= r, TOK Media=A0

3D"Inline


tamar@tok-medi= a.com
Tel:=A0=A0=A0+972 2 6409736=A0
Mob:=A0=A0<= a value=3D"+972548356490">+972 54 8356490=A0
Fax:=A0=A0=A0+972 2 5612956=A0





On Wed, Sep 26, 2012 at 3:40 AM, aaron m= orton <aaron@thelastpickle.com> wrote:
Check the logs on =A0nodes 2 and 3 to s= ee if the scrub started. The logs on 1 will be a good help with that.=A0
Cheers

<= div style=3D"word-wrap:break-word">
-----------------
Aaron Morton
Freelance Deve= loper
@aaronmorton

On 24/09/2012, at 10:31 PM, Tamar Fraenkel <tamar@tok-media.com> wrote:

Hi!
I ran
UPDATE COLUMN= FAMILY cf_name WITH compression_options=3D{sstable_compression:SnappyCompr= essor, chunk_length_kb:64};

I then ran on all my nodes (3) sudo nodetool -h localhost scrub tok cf_= name

I have replication factor 3. The size of the data on dis= k was cut in half in the first node and in the jmx I can see that indeed th= e compression ration is 0.46. But on nodes 2 and 3 nothing happened. In the= jmx I can see that compression ratio is 0 and the size of the files of dis= k stayed the same.

In cli

ColumnFamily: cf_name=
=A0=A0=A0=A0=A0 Key Validation Class: org.apache.cassandra.db.marshal.U= UIDType
=A0=A0=A0=A0=A0 Default column value validator: org.apache.cassa= ndra.db.marshal.UTF8Type
=A0=A0=A0=A0=A0 Columns sorted by: org.apache.cassandra.db.marshal.Composit= eType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.mars= hal.UTF8Type)
=A0=A0=A0=A0=A0 Row cache size / save period in seconds / = keys to save : 0.0/0/all
=A0=A0=A0=A0=A0 Row Cache Provider: org.apache.cassandra.cache.SerializingC= acheProvider
=A0=A0=A0=A0=A0 Key cache size / save period in seconds: 20= 0000.0/14400
=A0=A0=A0=A0=A0 GC grace seconds: 864000
=A0=A0=A0=A0=A0= Compaction min/max thresholds: 4/32
=A0=A0=A0=A0=A0 Read repair chance: 1.0
=A0=A0=A0=A0=A0 Replicate on wri= te: true
=A0=A0=A0=A0=A0 Bloom Filter FP chance: default
=A0=A0=A0=A0= =A0 Built indexes: []
=A0=A0=A0=A0=A0 Compaction Strategy: org.apache.ca= ssandra.db.compaction.SizeTieredCompactionStrategy
=A0=A0=A0=A0=A0 Compression Options:
=A0=A0=A0=A0=A0=A0=A0 chunk_length_= kb: 64
=A0=A0=A0=A0=A0=A0=A0 sstable_compression: org.apache.cassandra.i= o.compress.SnappyCompressor

Can anyone help?
Thanks
Tamar Fraenkel=A0
Senior Software Engineer, TOK Media=A0

<= /div>
<tokLogo.png>

<= br>tamar@tok-media= .com
Tel:=A0=A0=A0+972 2 6409736=A0
Mob:=A0=A0<= a value=3D"+972548356490">+972 54 8356490=A0
Fax:=A0=A0=A0+972 2 5612956=A0





On Mon, Sep 24, 2012 at 8:37 AM, Ta= mar Fraenkel <tamar@tok-media.com> wrote:
Thanks all, that helps. Will start with one - two CFs= and let you know the effect


Tamar Fraenkel=A0
Senior Software Engine= er, TOK Media=A0

<tokLogo.png>


tamar@tok-media.com
Tel:=A0=A0=A0+972 2 6409736=A0
Mob:=A0=A0+972 54 8356490=A0
Fax:=A0=A0=A0+972 2 5612956=A0





On Sun, Sep 23, 201= 2 at 8:21 PM, Hiller, Dean <Dean.Hiller@nrel.gov> wrote:<= br>
As well as your unlimited column names may all have the same prefix, right?= Like "accounts".rowkey56, "accounts".rowkey78, etc. et= c. =A0so the "accounts gets a ton of compression then.

Later,
Dean

From: Tyler Hobbs <tyler@datastax.com<mailto:tyler@datastax.com>>
Reply-To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" <= ;user@cassan= dra.apache.org<mailto:user@cassandra.apache.org>>
Date: Sunday, September 23, 2012 11:46 AM
To: "us= er@cassandra.apache.org<mailto:user@cassandra.apache.org>" <user@cassandra.ap= ache.org<mailto:user@cassandra.apache.org>>
Subject: Re: compression

=A0column metadata, you're still likely to get a reasonable amount of c= ompression. =A0This is especially true if there is some amount of repetitio= n in the column names, values, or TTLs in wide rows. =A0Compression will al= most always be beneficial unless you're already somehow CPU bound or ar= e using large column values that are high in entropy, such as pre-compresse= d or encrypted data.





--f46d042c6b8d7f1d5804cac4050f-- --f46d042c6b8d7f1d5b04cac40510 Content-Type: image/png; name="tokLogo.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_135b91fb888fa9ff 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 RK5CYII= --f46d042c6b8d7f1d5b04cac40510 Content-Type: image/png; name="tokLogo.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_135b91fb888fa9ff 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 RK5CYII= --f46d042c6b8d7f1d5b04cac40510--