You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Karl Mueller (JIRA)" <ji...@apache.org> on 2013/09/24 23:12:04 UTC

[jira] [Created] (CASSANDRA-6092) Leveled Compaction after ALTER TABLE creates pending but does not actually begin

Karl Mueller created CASSANDRA-6092:
---------------------------------------

             Summary: 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


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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira