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

Kevin Minder updated KNOX-199:
------------------------------

    Description: 
When running the samples/ExampleHBase.groovy Knox Client DSL script, an 
exception is produced on the client side.  This is due to an incompatibility 
between Knox 0.3.0 Client DSL and a change in HBase 0.96.  The result is that 
the Knox Client DSL cannot be used to access HBase operations that involve 
empty column qualifiers.  This only affects the Knox Client DSL.  The HBase 
REST API can still be used via the Knox Gateway for both HBase 0.95 and 0.96.

// This Client DSL command will fail with Knox 0.3.0 Client DSL and HBase 0.96. 
 It will work with HBase 0.96
HBase.session(session).table("table1").row("row_id_1").store().column("family1",
 null, "fam_value1").now()
 
// This Client DSL command will work with both HBase 0.95 and HBase 0.96.
HBase.session(session).table("table1").row("row_id_1").store().column("family1",
 "col1", "col_value1").now()

The exception produced on the client side is shown below:

Inserting data into table...
Caught: org.apache.hadoop.gateway.shell.HadoopException: 
org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad Request
org.apache.hadoop.gateway.shell.HadoopException: 
org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad Request
    at 
org.apache.hadoop.gateway.shell.AbstractRequest.now(AbstractRequest.java:72)
    at org.apache.hadoop.gateway.shell.AbstractRequest$now.call(Unknown Source)
    at 
org.apache.hadoop.gateway.shell.hbase.ExampleHBase.run(ExampleHBase.groovy:81)
    at org.apache.hadoop.gateway.shell.Shell.main(Shell.java:40)
    at 
org.apache.hadoop.gateway.launcher.Invoker.invokeMainMethod(Invoker.java:64)
    at org.apache.hadoop.gateway.launcher.Invoker.invoke(Invoker.java:37)
    at org.apache.hadoop.gateway.launcher.Command.run(Command.java:101)
    at org.apache.hadoop.gateway.launcher.Launcher.run(Launcher.java:70)
    at org.apache.hadoop.gateway.launcher.Launcher.main(Launcher.java:49)
Caused by: org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad 
Request
    at org.apache.hadoop.gateway.shell.Hadoop.executeNow(Hadoop.java:107)
    at 
org.apache.hadoop.gateway.shell.AbstractRequest.execute(AbstractRequest.java:47)
    at 
org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request.access$400(StoreRow.java:47)
    at 
org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request$1.call(StoreRow.java:116)
    at 
org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request$1.call(StoreRow.java:77)
    at 
org.apache.hadoop.gateway.shell.AbstractRequest.now(AbstractRequest.java:70)
    ... 8 more 

  was:
When running ExampleHBase.groovy the exception below is produced on the client 
side.  Also note that the user's guide uses the wrong name from the groovy 
script (ExampleHBaseUseCase.groovy vs ExampleHBase.groovy)

Inserting data into table...
Caught: org.apache.hadoop.gateway.shell.HadoopException: 
org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad Request
org.apache.hadoop.gateway.shell.HadoopException: 
org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad Request
    at 
org.apache.hadoop.gateway.shell.AbstractRequest.now(AbstractRequest.java:72)
    at org.apache.hadoop.gateway.shell.AbstractRequest$now.call(Unknown Source)
    at 
org.apache.hadoop.gateway.shell.hbase.ExampleHBase.run(ExampleHBase.groovy:81)
    at org.apache.hadoop.gateway.shell.Shell.main(Shell.java:40)
    at 
org.apache.hadoop.gateway.launcher.Invoker.invokeMainMethod(Invoker.java:64)
    at org.apache.hadoop.gateway.launcher.Invoker.invoke(Invoker.java:37)
    at org.apache.hadoop.gateway.launcher.Command.run(Command.java:101)
    at org.apache.hadoop.gateway.launcher.Launcher.run(Launcher.java:70)
    at org.apache.hadoop.gateway.launcher.Launcher.main(Launcher.java:49)
Caused by: org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad 
Request
    at org.apache.hadoop.gateway.shell.Hadoop.executeNow(Hadoop.java:107)
    at 
org.apache.hadoop.gateway.shell.AbstractRequest.execute(AbstractRequest.java:47)
    at 
org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request.access$400(StoreRow.java:47)
    at 
org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request$1.call(StoreRow.java:116)
    at 
org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request$1.call(StoreRow.java:77)
    at 
org.apache.hadoop.gateway.shell.AbstractRequest.now(AbstractRequest.java:70)
    ... 8 more 


> ExampleHBase.groovy fails with Sandbox 2 GA (HBase 0.96)
> --------------------------------------------------------
>
>                 Key: KNOX-199
>                 URL: https://issues.apache.org/jira/browse/KNOX-199
>             Project: Apache Knox
>          Issue Type: Bug
>          Components: ClientDSL
>    Affects Versions: 0.3.0
>         Environment: Knox 0.3.0, Sandbox 2.0 GA (HBase 0.96)
>            Reporter: Kevin Minder
>            Assignee: Vladimir Tkhir
>            Priority: Critical
>             Fix For: 0.3.1
>
>         Attachments: KNOX-199.patch
>
>
> When running the samples/ExampleHBase.groovy Knox Client DSL script, an 
> exception is produced on the client side.  This is due to an incompatibility 
> between Knox 0.3.0 Client DSL and a change in HBase 0.96.  The result is that 
> the Knox Client DSL cannot be used to access HBase operations that involve 
> empty column qualifiers.  This only affects the Knox Client DSL.  The HBase 
> REST API can still be used via the Knox Gateway for both HBase 0.95 and 0.96.
> // This Client DSL command will fail with Knox 0.3.0 Client DSL and HBase 
> 0.96.  It will work with HBase 0.96
> HBase.session(session).table("table1").row("row_id_1").store().column("family1",
>  null, "fam_value1").now()
>  
> // This Client DSL command will work with both HBase 0.95 and HBase 0.96.
> HBase.session(session).table("table1").row("row_id_1").store().column("family1",
>  "col1", "col_value1").now()
> The exception produced on the client side is shown below:
> Inserting data into table...
> Caught: org.apache.hadoop.gateway.shell.HadoopException: 
> org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad Request
> org.apache.hadoop.gateway.shell.HadoopException: 
> org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad Request
>     at 
> org.apache.hadoop.gateway.shell.AbstractRequest.now(AbstractRequest.java:72)
>     at org.apache.hadoop.gateway.shell.AbstractRequest$now.call(Unknown 
> Source)
>     at 
> org.apache.hadoop.gateway.shell.hbase.ExampleHBase.run(ExampleHBase.groovy:81)
>     at org.apache.hadoop.gateway.shell.Shell.main(Shell.java:40)
>     at 
> org.apache.hadoop.gateway.launcher.Invoker.invokeMainMethod(Invoker.java:64)
>     at org.apache.hadoop.gateway.launcher.Invoker.invoke(Invoker.java:37)
>     at org.apache.hadoop.gateway.launcher.Command.run(Command.java:101)
>     at org.apache.hadoop.gateway.launcher.Launcher.run(Launcher.java:70)
>     at org.apache.hadoop.gateway.launcher.Launcher.main(Launcher.java:49)
> Caused by: org.apache.hadoop.gateway.shell.ErrorResponse: HTTP/1.1 400 Bad 
> Request
>     at org.apache.hadoop.gateway.shell.Hadoop.executeNow(Hadoop.java:107)
>     at 
> org.apache.hadoop.gateway.shell.AbstractRequest.execute(AbstractRequest.java:47)
>     at 
> org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request.access$400(StoreRow.java:47)
>     at 
> org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request$1.call(StoreRow.java:116)
>     at 
> org.apache.hadoop.gateway.shell.hbase.table.row.StoreRow$Request$1.call(StoreRow.java:77)
>     at 
> org.apache.hadoop.gateway.shell.AbstractRequest.now(AbstractRequest.java:70)
>     ... 8 more 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to