You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by mike anderson <sa...@gmail.com> on 2010/01/05 17:54:29 UTC

Stargate API

I'm using this new hbase-ruby gem <http://github.com/greglu/hbase-ruby> that
utilizes the Stargate API, so I'm not exactly sure who to address this bug
to.

Trying to create a row in hbase from ruby with row key "
http://www.google.com" produces this exception

2010-01-05 11:40:53.972::WARN:  /cached_web_pages/http%3A%2F%
2Fwww.google.com%2F/
java.lang.IllegalArgumentException: java.lang.NumberFormatException: For
input string: "www.google.com"
at org.apache.hadoop.hbase.stargate.RowSpec.parseTimestamp(RowSpec.java:171)
at org.apache.hadoop.hbase.stargate.RowSpec.<init>(RowSpec.java:55)
at org.apache.hadoop.hbase.stargate.RowResource.<init>(RowResource.java:62)
at
org.apache.hadoop.hbase.stargate.TableResource.getRowResource(TableResource.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.sun.jersey.server.impl.uri.rules.SubLocatorRule.invokeSubLocator(SubLocatorRule.java:138)
at
com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:92)
at
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:114)
at
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:74)
at
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:114)
at
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:66)
at
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:658)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:616)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:607)
at
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
at
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
at
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: java.lang.NumberFormatException: For input string: "
www.google.com"
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:403)
at java.lang.Long.valueOf(Long.java:518)
at org.apache.hadoop.hbase.stargate.RowSpec.parseTimestamp(RowSpec.java:169)
... 33 more

cheers,
mike

Re: Stargate API

Posted by Greg Lu <gr...@openplaces.org>.
Also check out my comment on the issue:
http://github.com/sishen/hbase-ruby/issues/#issue/2

On Tue, Jan 5, 2010 at 11:54 AM, mike anderson <sa...@gmail.com>wrote:

> I'm using this new hbase-ruby gem <http://github.com/greglu/hbase-ruby>
> that
> utilizes the Stargate API, so I'm not exactly sure who to address this bug
> to.
>
> Trying to create a row in hbase from ruby with row key "
> http://www.google.com" produces this exception
>
> 2010-01-05 11:40:53.972::WARN:  /cached_web_pages/http%3A%2F%
> 2Fwww.google.com%2F/
> java.lang.IllegalArgumentException: java.lang.NumberFormatException: For
> input string: "www.google.com"
> at
> org.apache.hadoop.hbase.stargate.RowSpec.parseTimestamp(RowSpec.java:171)
> at org.apache.hadoop.hbase.stargate.RowSpec.<init>(RowSpec.java:55)
> at org.apache.hadoop.hbase.stargate.RowResource.<init>(RowResource.java:62)
> at
>
> org.apache.hadoop.hbase.stargate.TableResource.getRowResource(TableResource.java:117)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.invokeSubLocator(SubLocatorRule.java:138)
> at
>
> com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:92)
> at
>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:114)
> at
>
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:74)
> at
>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:114)
> at
>
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:66)
> at
>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:658)
> at
>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:616)
> at
>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:607)
> at
>
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
> at
>
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
> at
>
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> at
>
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
> at
>
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
> at
>
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
> Caused by: java.lang.NumberFormatException: For input string: "
> www.google.com"
> at
>
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
> at java.lang.Long.parseLong(Long.java:403)
> at java.lang.Long.valueOf(Long.java:518)
> at
> org.apache.hadoop.hbase.stargate.RowSpec.parseTimestamp(RowSpec.java:169)
> ... 33 more
>
> cheers,
> mike
>

Re: Stargate API

Posted by Jean-Daniel Cryans <jd...@apache.org>.
Unfortunately I have to punt this to 0.20.4 but, looking into the
issue, is seems that the row key is parsed in a different way because
it's expecting something like this:

path := '/' <table> '/' <row> '/' <column> ( ':' <qualifier> )?
          ( '/' <timestamp> )?

I guess that a workaround would be to simply encode the row keys on
the client-side. (eg base64)

J-D

On Tue, Jan 5, 2010 at 1:59 PM, Andrew Purtell <ap...@apache.org> wrote:
> Hi Mike,
>
> I am the Stargate maintainer. You can address this type of issue to me, or file
> jiras kindly with a subject that begins "[stargate]". In this case I have done
> that already and will take a look at this shortly. Please see
>
>    https://issues.apache.org/jira/browse/HBASE-2093
>
> I have to catch a flight back from Taipei today so it may be 48 hours or so
> before I can look at it.
>
>
> Best regards,
>
>    - Andy
>
>
>
> ----- Original Message ----
>> From: mike anderson <sa...@gmail.com>
>> To: hbase-user@hadoop.apache.org
>> Sent: Wed, January 6, 2010 12:54:29 AM
>> Subject: Stargate API
>>
>> I'm using this new hbase-ruby gem that
>> utilizes the Stargate API, so I'm not exactly sure who to address this bug
>> to.
>>
>> Trying to create a row in hbase from ruby with row key "
>> http://www.google.com" produces this exception
>>
>> 2010-01-05 11:40:53.972::WARN:  /cached_web_pages/http%3A%2F%
>> 2Fwww.google.com%2F/
>> java.lang.IllegalArgumentException: java.lang.NumberFormatException: For
>> input string: "www.google.com"
>> at org.apache.hadoop.hbase.stargate.RowSpec.parseTimestamp(RowSpec.java:171)
>> at org.apache.hadoop.hbase.stargate.RowSpec.(RowSpec.java:55)
>> at org.apache.hadoop.hbase.stargate.RowResource.(RowResource.java:62)
>> at
>> org.apache.hadoop.hbase.stargate.TableResource.getRowResource(TableResource.java:117)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> [...]
>
>
>
>
>

Re: Stargate API

Posted by Andrew Purtell <ap...@apache.org>.
Hi Mike,

I am the Stargate maintainer. You can address this type of issue to me, or file 
jiras kindly with a subject that begins "[stargate]". In this case I have done
that already and will take a look at this shortly. Please see

    https://issues.apache.org/jira/browse/HBASE-2093

I have to catch a flight back from Taipei today so it may be 48 hours or so
before I can look at it. 


Best regards,

    - Andy



----- Original Message ----
> From: mike anderson <sa...@gmail.com>
> To: hbase-user@hadoop.apache.org
> Sent: Wed, January 6, 2010 12:54:29 AM
> Subject: Stargate API
> 
> I'm using this new hbase-ruby gem that
> utilizes the Stargate API, so I'm not exactly sure who to address this bug
> to.
> 
> Trying to create a row in hbase from ruby with row key "
> http://www.google.com" produces this exception
> 
> 2010-01-05 11:40:53.972::WARN:  /cached_web_pages/http%3A%2F%
> 2Fwww.google.com%2F/
> java.lang.IllegalArgumentException: java.lang.NumberFormatException: For
> input string: "www.google.com"
> at org.apache.hadoop.hbase.stargate.RowSpec.parseTimestamp(RowSpec.java:171)
> at org.apache.hadoop.hbase.stargate.RowSpec.(RowSpec.java:55)
> at org.apache.hadoop.hbase.stargate.RowResource.(RowResource.java:62)
> at
> org.apache.hadoop.hbase.stargate.TableResource.getRowResource(TableResource.java:117)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

[...]