Michael Hanselmann created CASSANDRA-13067:
----------------------------------------------

             Summary: Integer overflows with file system size reported by 
Amazon Elastic File System (EFS)
                 Key: CASSANDRA-13067
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13067
             Project: Cassandra
          Issue Type: Bug
         Environment: Cassandra in OpenShift running on Amazon EC2 instance 
with EFS mounted for data
            Reporter: Michael Hanselmann


When not explicitly configured Cassandra uses 
[{{nio.FileStore.getTotalSpace}}|https://docs.oracle.com/javase/7/docs/api/java/nio/file/FileStore.html]
 to determine the total amount of available space in order to [calculate the 
preferred commit log 
size|https://github.com/apache/cassandra/blob/cassandra-3.9/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L553].
 [Amazon EFS|https://aws.amazon.com/efs/] instances report a filesystem size of 
8 EiB when empty. [{{getTotalSpace}} causes an integer overflow 
(JDK-8162520)|https://bugs.openjdk.java.net/browse/JDK-8162520] and returns a 
negative number, resulting in a negative preferred size and causing the checked 
integer to throw.

Overriding {{commitlog_total_space_in_mb}} is not sufficient as 
[{{DataDirectory.getAvailableSpace}}|https://github.com/apache/cassandra/blob/cassandra-3.9/src/java/org/apache/cassandra/db/Directories.java#L550]
 makes use of {{nio.FileStore.getUsableSpace}}.

[AMQ-6441] is a comparable issue in ActiveMQ.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to