You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (Created) (JIRA)" <ji...@apache.org> on 2011/11/30 21:55:39 UTC

[jira] [Created] (CASSANDRA-3544) NPE on startup when there are permissions issues with directories

NPE on startup when there are permissions issues with directories
-----------------------------------------------------------------

                 Key: CASSANDRA-3544
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3544
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.0.5
            Reporter: Tyler Hobbs
            Priority: Minor


If the directories used by cassandra for data, commitlog, and saved caches aren't readable due to permissions, you get an NPE on startup.  In particular, if none of them are readable, you'll see something like this:

{noformat}
ERROR 14:50:11,945 Exception encountered during startup
java.lang.NullPointerException
	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
java.lang.NullPointerException
	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
Exception encountered during startup: null
{noformat}

This traceback happens when the saved_caches directory isn't readable, but you can get different ones if only the data or commitlog directories aren't readable.

We should check the permissions of these directories before trying to list their contents.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3544) NPE on startup when there are permissions issues with directories

Posted by "Yuki Morishita (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yuki Morishita updated CASSANDRA-3544:
--------------------------------------

    Attachment: cassandra-1.0-3544.txt

You're right. I changed to assert only when directory exists.
                
> NPE on startup when there are permissions issues with directories
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-3544
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3544
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.0.7
>
>         Attachments: cassandra-1.0-3544.txt, cassandra-1.0-3544.txt
>
>
> If the directories used by cassandra for data, commitlog, and saved caches aren't readable due to permissions, you get an NPE on startup.  In particular, if none of them are readable, you'll see something like this:
> {noformat}
> ERROR 14:50:11,945 Exception encountered during startup
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> Exception encountered during startup: null
> {noformat}
> This traceback happens when the saved_caches directory isn't readable, but you can get different ones if only the data or commitlog directories aren't readable.
> We should check the permissions of these directories before trying to list their contents.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3544) NPE on startup when there are permissions issues with directories

Posted by "Yuki Morishita (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yuki Morishita updated CASSANDRA-3544:
--------------------------------------

    Attachment:     (was: cassandra-1.0-3544.txt)
    
> NPE on startup when there are permissions issues with directories
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-3544
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3544
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.0.7
>
>         Attachments: cassandra-1.0-3544.txt
>
>
> If the directories used by cassandra for data, commitlog, and saved caches aren't readable due to permissions, you get an NPE on startup.  In particular, if none of them are readable, you'll see something like this:
> {noformat}
> ERROR 14:50:11,945 Exception encountered during startup
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> Exception encountered during startup: null
> {noformat}
> This traceback happens when the saved_caches directory isn't readable, but you can get different ones if only the data or commitlog directories aren't readable.
> We should check the permissions of these directories before trying to list their contents.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3544) NPE on startup when there are permissions issues with directories

Posted by "Jonathan Ellis (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3544:
--------------------------------------

             Reviewer: jbellis
    Affects Version/s:     (was: 1.0.5)
        Fix Version/s: 1.0.6
             Assignee: Yuki Morishita
    
> NPE on startup when there are permissions issues with directories
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-3544
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3544
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.0.6
>
>
> If the directories used by cassandra for data, commitlog, and saved caches aren't readable due to permissions, you get an NPE on startup.  In particular, if none of them are readable, you'll see something like this:
> {noformat}
> ERROR 14:50:11,945 Exception encountered during startup
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> Exception encountered during startup: null
> {noformat}
> This traceback happens when the saved_caches directory isn't readable, but you can get different ones if only the data or commitlog directories aren't readable.
> We should check the permissions of these directories before trying to list their contents.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3544) NPE on startup when there are permissions issues with directories

Posted by "Jonathan Ellis (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3544:
--------------------------------------

    Reviewer: brandon.williams  (was: jbellis)
    
> NPE on startup when there are permissions issues with directories
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-3544
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3544
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.0.6
>
>         Attachments: cassandra-1.0-3544.txt
>
>
> If the directories used by cassandra for data, commitlog, and saved caches aren't readable due to permissions, you get an NPE on startup.  In particular, if none of them are readable, you'll see something like this:
> {noformat}
> ERROR 14:50:11,945 Exception encountered during startup
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> Exception encountered during startup: null
> {noformat}
> This traceback happens when the saved_caches directory isn't readable, but you can get different ones if only the data or commitlog directories aren't readable.
> We should check the permissions of these directories before trying to list their contents.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3544) NPE on startup when there are permissions issues with directories

Posted by "Yuki Morishita (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yuki Morishita updated CASSANDRA-3544:
--------------------------------------

    Attachment: cassandra-1.0-3544.txt

Here is my first attempt. It checks all(data, commitlog, saved cache) directories' existence and permissions on startup.

If check fails, cassandra stops starting.
                
> NPE on startup when there are permissions issues with directories
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-3544
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3544
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.0.6
>
>         Attachments: cassandra-1.0-3544.txt
>
>
> If the directories used by cassandra for data, commitlog, and saved caches aren't readable due to permissions, you get an NPE on startup.  In particular, if none of them are readable, you'll see something like this:
> {noformat}
> ERROR 14:50:11,945 Exception encountered during startup
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> Exception encountered during startup: null
> {noformat}
> This traceback happens when the saved_caches directory isn't readable, but you can get different ones if only the data or commitlog directories aren't readable.
> We should check the permissions of these directories before trying to list their contents.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3544) NPE on startup when there are permissions issues with directories

Posted by "Brandon Williams (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13165551#comment-13165551 ] 

Brandon Williams commented on CASSANDRA-3544:
---------------------------------------------

The problem with this patch is it asserts the directories exist, where before we would try to create them if they didn't.
                
> NPE on startup when there are permissions issues with directories
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-3544
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3544
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.0.6
>
>         Attachments: cassandra-1.0-3544.txt
>
>
> If the directories used by cassandra for data, commitlog, and saved caches aren't readable due to permissions, you get an NPE on startup.  In particular, if none of them are readable, you'll see something like this:
> {noformat}
> ERROR 14:50:11,945 Exception encountered during startup
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:391)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:147)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
> Exception encountered during startup: null
> {noformat}
> This traceback happens when the saved_caches directory isn't readable, but you can get different ones if only the data or commitlog directories aren't readable.
> We should check the permissions of these directories before trying to list their contents.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira