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

Paulo Motta commented on CASSANDRA-12478:
-----------------------------------------

The new patch still has the problem:
{noformat}
org.apache.cassandra.exceptions.ConfigurationException: Unable to check disk 
space available to tools/bin/../../data/commitlog. Perhaps the Cassandra user 
does not have the necessary permissions
        at 
org.apache.cassandra.config.DatabaseDescriptor.applySimpleConfig(DatabaseDescriptor.java:472)
        at 
org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:177)
        at 
org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:146)
        at org.apache.cassandra.stress.Stress.run(Stress.java:75)
        at org.apache.cassandra.stress.Stress.main(Stress.java:62)
Caused by: java.nio.file.AccessDeniedException: tools/bin/../../data/commitlog
        at 
sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileStore.devFor(UnixFileStore.java:57)
        at sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:64)
        at sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:44)
        at 
sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51)
        at 
sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39)
        at 
sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:368)
        at java.nio.file.Files.getFileStore(Files.java:1461)
        at 
org.apache.cassandra.config.DatabaseDescriptor.guessFileStore(DatabaseDescriptor.java:987)
        at 
org.apache.cassandra.config.DatabaseDescriptor.applySimpleConfig(DatabaseDescriptor.java:467)
        ... 4 more
{noformat}

Perhaps you need to change from {{toolInitialization}} to 
{{clientInitialization}}, as suggested by [~snazy]. But I think that even in 
tool mode, we shouldn't be checking commit log space, so I think the correct 
fix is to skip that check if in client or tool mode. WDYT [~snazy]?

> cassandra stress still uses CFMetaData.compile()
> ------------------------------------------------
>
>                 Key: CASSANDRA-12478
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12478
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: Denis Ranger
>              Labels: stress
>             Fix For: 3.0.x
>
>         Attachments: 
> 0001-Replaced-using-CFMetaData.compile-in-cassandra-stres.patch, 
> cassandra-stress-trunk.patch, cassandra-stress-v2.patch
>
>
> Using CFMetaData.compile() on a client tool causes permission problems. To 
> reproduce:
> * Start cassandra under user _cassandra_
> * Run {{chmod -R go-rwx /var/lib/cassandra}} to deny access to other users.
> * Use a non-root user to run {{cassandra-stress}} 
> This produces an access denied message on {{/var/lib/cassandra/commitlog}}.
> The attached fix uses client-mode functionality.



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

Reply via email to