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)