cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jon Haddad (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-13010) nodetool compactionstats should say which disk a compaction is writing to
Date Thu, 02 Mar 2017 00:26:45 GMT

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

Jon Haddad edited comment on CASSANDRA-13010 at 3/2/17 12:26 AM:
-----------------------------------------------------------------

I set up 6 data directories and dropped my memtable_heap_space_in_mb to 32 MB to force a ton
of flushes and lots of compactions.  I do see directories in the compactionstats, indicating
that it's working, but i haven't verified the right directories are listed.  

The output is a little hard to read, since the directories make the output look like this:

{code}
jhaddad@rustyrazorblade ~/dev/cassandra$ bin/nodetool compactionstats
pending tasks: 6
- keyspace1.standard1: 6

id                                   compaction type keyspace  table     target directory
                                                                           completed total
   unit  progress
7f3e7a40-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data1/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
17696623  38340460 bytes 46.16%
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data4/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
3651789   33841385 bytes 10.79%
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data3/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
34012548  37166390 bytes 91.51%
7a2e6560-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data6/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
33334698  36996530 bytes 90.10%
7dabcc50-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data2/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
22993893  37875910 bytes 60.71%
Active compaction remaining time :   0h00m04s
{code}

>From a user interface perspective, It would be great if the tasks could be separated by
directory, rather than inlining the directory in the table.  So in my example something more
like:

{code}
jhaddad@rustyrazorblade ~/dev/cassandra$ bin/nodetool compactionstats  
pending tasks: 6
- keyspace1.standard1: 6

id                                   compaction type keyspace  table  completed total    unit
 progress

/Users/jhaddad/var/lib/cassandra/data1/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7f3e7a40-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  17696623  38340460
bytes 46.16%

/Users/jhaddad/var/lib/cassandra/data4/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 3651789   33841385
bytes 10.79%

/Users/jhaddad/var/lib/cassandra/data3/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  34012548  37166390
bytes 91.51%

/Users/jhaddad/var/lib/cassandra/data6/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7a2e6560-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  33334698  36996530
bytes 90.10%

/Users/jhaddad/var/lib/cassandra/data2/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7dabcc50-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  22993893  37875910
bytes 60.71%
Active compaction remaining time :   0h00m04s
{code}

If there are multiple compactions in a single directory, you would see this:

{code}
/Users/jhaddad/var/lib/cassandra/data3/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  34012548  37166390
bytes 91.51%
7a2e6560-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  33334698  36996530
bytes 90.10%
7dabcc50-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  22993893  37875910
bytes 60.71%
{code}

I'm also not sure if there's value in including the keyspace & table directory, since
that information is duplicated.  If we limit the result to the data directory we would end
up with at most N sections, 1 per data directory specified in the yaml.  I think that would
be the *most* useful form of this output (note the line between the directories):

{code}
/Users/jhaddad/var/lib/cassandra/data4
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 3651789   33841385
bytes 10.79%
03c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard2 3651789   13841385
bytes 10.79%

/Users/jhaddad/var/lib/cassandra/data3
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard3  34012548  57166390
bytes 91.51%
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard5 3651789   43841385
bytes 10.79%
{code}

What do you think?


was (Author: rustyrazorblade):
I set up 6 data directories and dropped my memtable_heap_space_in_mb to 32 MB to force a ton
of flushes and lots of compactions.  I do see directories in the compactionstats, indicating
that it's working, but i haven't verified the right directories are listed.  

The output is a little hard to read, since the directories make the output look like this:

{code}
jhaddad@rustyrazorblade ~/dev/cassandra$ bin/nodetool compactionstats
pending tasks: 6
- keyspace1.standard1: 6

id                                   compaction type keyspace  table     target directory
                                                                           completed total
   unit  progress
7f3e7a40-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data1/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
17696623  38340460 bytes 46.16%
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data4/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
3651789   33841385 bytes 10.79%
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data3/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
34012548  37166390 bytes 91.51%
7a2e6560-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data6/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
33334698  36996530 bytes 90.10%
7dabcc50-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 /Users/jhaddad/var/lib/cassandra/data2/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
22993893  37875910 bytes 60.71%
Active compaction remaining time :   0h00m04s
{code}

>From a user interface perspective, It would be great if the tasks could be separated by
directory, rather than inlining the directory in the table.  So in my example something more
like:

{code}
jhaddad@rustyrazorblade ~/dev/cassandra$ bin/nodetool compactionstats  
pending tasks: 6
- keyspace1.standard1: 6

id                                   compaction type keyspace  table  completed total    unit
 progress

/Users/jhaddad/var/lib/cassandra/data1/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7f3e7a40-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  17696623  38340460
bytes 46.16%

/Users/jhaddad/var/lib/cassandra/data4/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 3651789   33841385
bytes 10.79%

/Users/jhaddad/var/lib/cassandra/data3/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  34012548  37166390
bytes 91.51%

/Users/jhaddad/var/lib/cassandra/data6/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7a2e6560-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  33334698  36996530
bytes 90.10%

/Users/jhaddad/var/lib/cassandra/data2/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7dabcc50-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  22993893  37875910
bytes 60.71%
Active compaction remaining time :   0h00m04s
{code}

If there are multiple compactions in a single directory, you would see this:

{code}
/Users/jhaddad/var/lib/cassandra/data3/keyspace1/standard1-f867e470fedb11e6a2c121962153156a
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  34012548  37166390
bytes 91.51%
7a2e6560-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  33334698  36996530
bytes 90.10%
7dabcc50-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1  22993893  37875910
bytes 60.71%
{code}

I'm also not sure if there's value in including the keyspace & table directory, since
that information is duplicated.  If we limit the result to the data directory we would end
up with at most N sections, 1 per data directory specified in the yaml.  I think that would
be the *most* useful form of this output.  I believe this would be the most helpful output
(note the line between the directories):

{code}
/Users/jhaddad/var/lib/cassandra/data4
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard1 3651789   33841385
bytes 10.79%
03c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard2 3651789   13841385
bytes 10.79%

/Users/jhaddad/var/lib/cassandra/data3
7a1beed0-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard3  34012548  57166390
bytes 91.51%
83c14340-fedc-11e6-a477-b714107dace1 Compaction      keyspace1 standard5 3651789   43841385
bytes 10.79%
{code}

What do you think?

> nodetool compactionstats should say which disk a compaction is writing to
> -------------------------------------------------------------------------
>
>                 Key: CASSANDRA-13010
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13010
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Jon Haddad
>            Assignee: Alex Lourie
>              Labels: lhf
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message