hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-4300) Start of new-version master fails if old master's znode is hanging around
Date Thu, 15 Sep 2011 21:33:09 GMT

     [ https://issues.apache.org/jira/browse/HBASE-4300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

stack updated HBASE-4300:

    Attachment: 4300-v2.txt

How about this?

Does its own serialization which is kinda odd but here's how the rationale went:

+ Use VersionedWritables ... thats what we do everywhere else.  This has one byte only for
version which might not be enough to definitively distinguish version+ServerName bytes from
hostname port bytes.  Also, the DataInput doesn't have support for reading to the end of the
stream and maybe we should be 'waiting' till buffer is full.  Messy.
+ Protobufs would be new here.  Would have to mess about with .proto file or write schema
on the fly (I'd have to figure how to do this -- punted).
+ JSON would be awkward distinguishing the old hostnameport from new format.... could work
I suppose.

Ended up with a getVersionedBytes and a parseVersioneBytes.  The latter can figure if a ServerName
or hostname+port.

> Start of new-version master fails if old master's znode is hanging around
> -------------------------------------------------------------------------
>                 Key: HBASE-4300
>                 URL: https://issues.apache.org/jira/browse/HBASE-4300
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.92.0
>            Reporter: Todd Lipcon
>            Assignee: stack
>            Priority: Critical
>             Fix For: 0.92.0
>         Attachments: 4300-v2.txt, 4300.txt
> I shut down an 0.90 cluster, and had to do so uncleanly. I then started a trunk (0.92)
cluster before the old master znode had expired. This cased:
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>         at java.lang.String.substring(String.java:1937)
>         at org.apache.hadoop.hbase.ServerName.parseHostname(ServerName.java:81)
>         at org.apache.hadoop.hbase.ServerName.<init>(ServerName.java:63)
>         at org.apache.hadoop.hbase.master.ActiveMasterManager.blockUntilBecomingActiveMaster(ActiveMasterManager.java:148)
>         at org.apache.hadoop.hbase.master.HMaster.becomeActiveMaster(HMaster.java:342)
>         at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:297)

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message