[ 
https://issues.apache.org/jira/browse/CASSANDRA-7615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis resolved CASSANDRA-7615.
---------------------------------------

    Resolution: Duplicate

> Data isn't written to the disk with enough space while using multiple 
> data_file_directories
> -------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7615
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7615
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Hardware: AWS c3.xlarge (80GB SSD) with 500GB EBS
> OS: Ubuntu
> Cassandra version: 1.2.16
>            Reporter: David Chia
>
> *Background:* The local disk on the server was running out of disk space, so 
> I added a new volume and I added a new data directory (on the new disk) to 
> the data_file_directories list.
> *Behavior:* I could see that some of the new sstables were flushed to this 
> new data directory, but Cassandra was still compacting the sstables to the 
> old disk (at least the tmp sstable was written to the old disk. I am sure 
> whether it would move the tmp sstable later or not); eventually, it crashed 
> with out-of-disk-space. It is not what 
> [CASSANDRA-4292|https://issues.apache.org/jira/browse/CASSANDRA-4292?focusedCommentId=13422574&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13422574]
>  described, unless the design decision had been changed.
> *Suspect:* It seems the precedence of the tasks number is somewhat over the 
> free space of the volume, so it would choose less-load-and-less-space over 
> higher-load-and-more-space ( ? )
> {code:title=https://github.com/apache/cassandra/blob/cassandra-1.2/src/java/org/apache/cassandra/db/Directories.java#L190-L199|borderStyle=solid}
>         Collections.sort(candidates);
>         // sort directories by load, in _ascending_ order.
>         Collections.sort(candidates, new Comparator<DataDirectory>()
>         {
>             public int compare(DataDirectory a, DataDirectory b)
>             {
>                 return a.currentTasks.get() - b.currentTasks.get();
>             }
>         });
> {code}
> Thanks in advance.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to