[ 
https://issues.apache.org/jira/browse/CASSANDRA-6092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13792400#comment-13792400
 ] 

Karl Mueller commented on CASSANDRA-6092:
-----------------------------------------

This doesn't make sense. You change a compaction strategy, it should start to 
take effect. You shouldn't have to do anything else. This is a bug, plain and 
simple.

For one thing, the most likely users who want to use leveled compaction are 
people like me who compact nightly to get rid of old update rows. We're the 
most likely ones to have a single sstable.

This is not a bizarre corner case, but basic functionality!


> Leveled Compaction after ALTER TABLE creates pending but does not actually 
> begin
> --------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6092
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6092
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra 1.2.10
> Oracle Java 1.7.0_u40
> RHEL6.4
>            Reporter: Karl Mueller
>            Assignee: Daniel Meyer
>
> Running Cassandra 1.2.10.  N=5, RF=3
> On this Column Family (ProductGenomeDev/Node), it's been major compacted into 
> a single, large sstable.
> There's no activity on the table at the time of the ALTER command. I changed 
> it to Leveled Compaction with the command below.
> cqlsh:ProductGenomeDev> alter table "Node" with compaction = { 'class' : 
> 'LeveledCompactionStrategy', 'sstable_size_in_mb' : 160 };
> Log entries confirm the change happened.
> [...]column_metadata={},compactionStrategyClass=class 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy,compactionStrategyOptions={sstable_size_in_mb=160}
>  [...]
> nodetool compactionstats shows pending compactions, but there's no activity:
> pending tasks: 750
> 12 hours later, nothing has still happened, same number pending. The 
> expectation would be that compactions would proceed immediately to convert 
> everything to Leveled Compaction as soon as the ALTER TABLE command goes.
> I try a simple write into the CF, and then flush the nodes. This kicks off 
> compaction on 3 nodes. (RF=3)
> cqlsh:ProductGenomeDev> insert into "Node" (key, column1, value) values 
> ('test123', 'test123', 'test123');
> cqlsh:ProductGenomeDev> select * from "Node" where key = 'test123';
>  key     | column1 | value
> ---------+---------+---------
>  test123 | test123 | test123
> cqlsh:ProductGenomeDev> delete from "Node" where key = 'test123';
> After a flush on every node, now I see:
> [cassandra@dev-cass00 ~]$ cas exec nt compactionstats
> *** dev-cass00 (0) ***
> pending tasks: 750
> Active compaction remaining time :        n/a
> *** dev-cass04 (0) ***
> pending tasks: 752
>           compaction type        keyspace   column family       completed     
>       total      unit  progress
>                CompactionProductGenomeDev            Node      3413333881    
> 643290447928     bytes     0.53%
> Active compaction remaining time :        n/a
> *** dev-cass01 (0) ***
> pending tasks: 750
> Active compaction remaining time :        n/a
> *** dev-cass02 (0) ***
> pending tasks: 751
>           compaction type        keyspace   column family       completed     
>       total      unit  progress
>                CompactionProductGenomeDev            Node      3374975141    
> 642764512481     bytes     0.53%
> Active compaction remaining time :        n/a
> *** dev-cass03 (0) ***
> pending tasks: 751
>           compaction type        keyspace   column family       completed     
>       total      unit  progress
>                CompactionProductGenomeDev            Node      3591320948    
> 643017643573     bytes     0.56%
> Active compaction remaining time :        n/a
> After inserting and deleting more columns, enough that all nodes have new 
> data, and flushing, now compactions are proceeding on all nodes.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to