accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rich Alberth (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-965) Zookeeper session ids created as unsigned long, parsed in as signed long
Date Mon, 14 Jan 2013 23:24:12 GMT
Rich Alberth created ACCUMULO-965:

             Summary: Zookeeper session ids created as unsigned long, parsed in
as signed long
                 Key: ACCUMULO-965
             Project: Accumulo
          Issue Type: Bug
          Components: start
    Affects Versions: 1.4.2
         Environment: Hadoop 0.20, ZooKeeper 3.4.3, CentOS 2.6, x64 CPU, Java 1.6.0_24
            Reporter: Rich Alberth
            Assignee: John Vines

Seems like this may be a bug.  I looked at
LiveTServerSet.assignTablet() it eventually calls Long.toHexString().
The javadoc for toHexString() says the following.
{code}Returns a string representation of the <code>long</code>
argument as an unsigned integer in base 16.

However, the method we are using to parse the Long can not handle
unsigned longs greater than MAX_LONG.  There does not seem to be a
method in long that can parse the output of  toHexString().  For
example the following will fail, any negative number will fail.

{code}Long.parseLong(Long.toHexString(-1), 16);{code}

Original Stack Dump:
java.lang.NumberFormatException: For input string: "b53c3a3610ce0001"
	at java.lang.NumberFormatException.forInputString(
	at java.lang.Long.parseLong(
	at org.apache.accumulo.core.zookeeper.ZooUtil$LockID.<init>(
	at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler.checkPermission(
	at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler.loadTablet(
	at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor.process(
	at org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(
	at org.apache.thrift.server.TNonblockingServer$FrameBuffer.invoke(
	at org.apache.accumulo.server.util.TServerUtils$THsHaServer$

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message