You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org> on 2010/11/22 19:14:13 UTC

[jira] Created: (HBASE-3258) EOF when version file is empty

EOF when version file is empty
------------------------------

                 Key: HBASE-3258
                 URL: https://issues.apache.org/jira/browse/HBASE-3258
             Project: HBase
          Issue Type: Bug
            Reporter: Jean-Daniel Cryans
            Assignee: Jean-Daniel Cryans
            Priority: Blocker
             Fix For: 0.90.0, 0.92.0


I somehow was able to get an empty hbase.version file on a test machine and when I start HBase I see:

{noformat}
starting master, logging to /data/jdcryans/git/hbase/bin/../logs/hbase-jdcryans-master-hbasedev.out
Exception in thread "master-hbasedev:60000" java.lang.NullPointerException
	at org.apache.hadoop.hbase.master.HMaster.stopServiceThreads(HMaster.java:559)
	at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:286)
{noformat}

And in the master's log:

{noformat}
2010-11-22 10:08:43,003 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
java.io.EOFException
        at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
        at java.io.DataInputStream.readUTF(DataInputStream.java:572)
        at org.apache.hadoop.hbase.util.FSUtils.getVersion(FSUtils.java:151)
        at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:170)
        at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:226)
        at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:104)
        at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:89)
        at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:337)
        at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:273)
2010-11-22 10:08:43,006 INFO org.apache.hadoop.hbase.master.HMaster: Aborting
{noformat}

I thought that that kind of issue was solved a long time ago, but somehow it's there again. I'll fix by handling the EOF and also will look at that ugly NPE.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-3258) EOF when version file is empty

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12935009#action_12935009 ] 

stack commented on HBASE-3258:
------------------------------

+1 J-D.

I made HBASE-3270 to accomodate Todd's sensible suggestion above.

> EOF when version file is empty
> ------------------------------
>
>                 Key: HBASE-3258
>                 URL: https://issues.apache.org/jira/browse/HBASE-3258
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>            Priority: Blocker
>             Fix For: 0.90.0, 0.92.0
>
>         Attachments: HBASE-3258.patch
>
>
> I somehow was able to get an empty hbase.version file on a test machine and when I start HBase I see:
> {noformat}
> starting master, logging to /data/jdcryans/git/hbase/bin/../logs/hbase-jdcryans-master-hbasedev.out
> Exception in thread "master-hbasedev:60000" java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.master.HMaster.stopServiceThreads(HMaster.java:559)
> 	at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:286)
> {noformat}
> And in the master's log:
> {noformat}
> 2010-11-22 10:08:43,003 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
> java.io.EOFException
>         at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
>         at java.io.DataInputStream.readUTF(DataInputStream.java:572)
>         at org.apache.hadoop.hbase.util.FSUtils.getVersion(FSUtils.java:151)
>         at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:170)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:226)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:104)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:89)
>         at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:337)
>         at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:273)
> 2010-11-22 10:08:43,006 INFO org.apache.hadoop.hbase.master.HMaster: Aborting
> {noformat}
> I thought that that kind of issue was solved a long time ago, but somehow it's there again. I'll fix by handling the EOF and also will look at that ugly NPE.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-3258) EOF when version file is empty

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12934576#action_12934576 ] 

Todd Lipcon commented on HBASE-3258:
------------------------------------

When we create the .version file, we should create it in a tmp location and then move it into place. It's probably empty in the case that a server crashes between writing and closing.

> EOF when version file is empty
> ------------------------------
>
>                 Key: HBASE-3258
>                 URL: https://issues.apache.org/jira/browse/HBASE-3258
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>            Priority: Blocker
>             Fix For: 0.90.0, 0.92.0
>
>         Attachments: HBASE-3258.patch
>
>
> I somehow was able to get an empty hbase.version file on a test machine and when I start HBase I see:
> {noformat}
> starting master, logging to /data/jdcryans/git/hbase/bin/../logs/hbase-jdcryans-master-hbasedev.out
> Exception in thread "master-hbasedev:60000" java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.master.HMaster.stopServiceThreads(HMaster.java:559)
> 	at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:286)
> {noformat}
> And in the master's log:
> {noformat}
> 2010-11-22 10:08:43,003 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
> java.io.EOFException
>         at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
>         at java.io.DataInputStream.readUTF(DataInputStream.java:572)
>         at org.apache.hadoop.hbase.util.FSUtils.getVersion(FSUtils.java:151)
>         at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:170)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:226)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:104)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:89)
>         at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:337)
>         at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:273)
> 2010-11-22 10:08:43,006 INFO org.apache.hadoop.hbase.master.HMaster: Aborting
> {noformat}
> I thought that that kind of issue was solved a long time ago, but somehow it's there again. I'll fix by handling the EOF and also will look at that ugly NPE.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HBASE-3258) EOF when version file is empty

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-3258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Daniel Cryans resolved HBASE-3258.
---------------------------------------

      Resolution: Fixed
    Hadoop Flags: [Reviewed]

Committed to trunk and 0.90, thanks Stack.

> EOF when version file is empty
> ------------------------------
>
>                 Key: HBASE-3258
>                 URL: https://issues.apache.org/jira/browse/HBASE-3258
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>            Priority: Blocker
>             Fix For: 0.90.0, 0.92.0
>
>         Attachments: HBASE-3258.patch
>
>
> I somehow was able to get an empty hbase.version file on a test machine and when I start HBase I see:
> {noformat}
> starting master, logging to /data/jdcryans/git/hbase/bin/../logs/hbase-jdcryans-master-hbasedev.out
> Exception in thread "master-hbasedev:60000" java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.master.HMaster.stopServiceThreads(HMaster.java:559)
> 	at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:286)
> {noformat}
> And in the master's log:
> {noformat}
> 2010-11-22 10:08:43,003 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
> java.io.EOFException
>         at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
>         at java.io.DataInputStream.readUTF(DataInputStream.java:572)
>         at org.apache.hadoop.hbase.util.FSUtils.getVersion(FSUtils.java:151)
>         at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:170)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:226)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:104)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:89)
>         at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:337)
>         at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:273)
> 2010-11-22 10:08:43,006 INFO org.apache.hadoop.hbase.master.HMaster: Aborting
> {noformat}
> I thought that that kind of issue was solved a long time ago, but somehow it's there again. I'll fix by handling the EOF and also will look at that ugly NPE.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-3258) EOF when version file is empty

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-3258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12934547#action_12934547 ] 

Jean-Daniel Cryans commented on HBASE-3258:
-------------------------------------------

For the record, the reason is that I was testing 0.90 with 0.20-append and since both are currently incompatible at the data transfer level (ugly ugly), the master is able to create the file but unable to write to. This HDFS-724 situation is bad.

> EOF when version file is empty
> ------------------------------
>
>                 Key: HBASE-3258
>                 URL: https://issues.apache.org/jira/browse/HBASE-3258
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>            Priority: Blocker
>             Fix For: 0.90.0, 0.92.0
>
>
> I somehow was able to get an empty hbase.version file on a test machine and when I start HBase I see:
> {noformat}
> starting master, logging to /data/jdcryans/git/hbase/bin/../logs/hbase-jdcryans-master-hbasedev.out
> Exception in thread "master-hbasedev:60000" java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.master.HMaster.stopServiceThreads(HMaster.java:559)
> 	at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:286)
> {noformat}
> And in the master's log:
> {noformat}
> 2010-11-22 10:08:43,003 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
> java.io.EOFException
>         at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
>         at java.io.DataInputStream.readUTF(DataInputStream.java:572)
>         at org.apache.hadoop.hbase.util.FSUtils.getVersion(FSUtils.java:151)
>         at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:170)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:226)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:104)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:89)
>         at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:337)
>         at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:273)
> 2010-11-22 10:08:43,006 INFO org.apache.hadoop.hbase.master.HMaster: Aborting
> {noformat}
> I thought that that kind of issue was solved a long time ago, but somehow it's there again. I'll fix by handling the EOF and also will look at that ugly NPE.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-3258) EOF when version file is empty

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-3258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Daniel Cryans updated HBASE-3258:
--------------------------------------

    Attachment: HBASE-3258.patch

Simple patch that special cases the EOF and prints a message. Also I fixed the NPE.

> EOF when version file is empty
> ------------------------------
>
>                 Key: HBASE-3258
>                 URL: https://issues.apache.org/jira/browse/HBASE-3258
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>            Priority: Blocker
>             Fix For: 0.90.0, 0.92.0
>
>         Attachments: HBASE-3258.patch
>
>
> I somehow was able to get an empty hbase.version file on a test machine and when I start HBase I see:
> {noformat}
> starting master, logging to /data/jdcryans/git/hbase/bin/../logs/hbase-jdcryans-master-hbasedev.out
> Exception in thread "master-hbasedev:60000" java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.master.HMaster.stopServiceThreads(HMaster.java:559)
> 	at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:286)
> {noformat}
> And in the master's log:
> {noformat}
> 2010-11-22 10:08:43,003 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
> java.io.EOFException
>         at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
>         at java.io.DataInputStream.readUTF(DataInputStream.java:572)
>         at org.apache.hadoop.hbase.util.FSUtils.getVersion(FSUtils.java:151)
>         at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:170)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:226)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:104)
>         at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:89)
>         at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:337)
>         at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:273)
> 2010-11-22 10:08:43,006 INFO org.apache.hadoop.hbase.master.HMaster: Aborting
> {noformat}
> I thought that that kind of issue was solved a long time ago, but somehow it's there again. I'll fix by handling the EOF and also will look at that ugly NPE.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.