Azure / hdinsight-phoenix-sharp

.NET driver for Apache Phoenix and Phoenix Query Server
Apache License 2.0
22 stars 17 forks source link

Exception while fetching column with data type as ARRAY (like COL1 INT[] / COL2 STRING[]) #9

Open dsp0109 opened 8 years ago

dsp0109 commented 8 years ago

Getting bellow error while trying to fetch data from column with type as ARRAY. Is anything extra need to be done for getting Array type value from table using Phoenix for HBase Azure cluster?

ERROR INFO:

"Message : System.AggregateException: One or more errors occurred. ---> System.Net.WebException: PrepareAndExecuteRequestAsync failed! connectionId: ac6a8eba, 
Response code was: **InternalServerError**, 
Response body was: { "exceptions": [ "java.lang.UnsupportedOperationException: Currently not supported
      org.apache.phoenix.schema.types.PhoenixArray.getResultSet(PhoenixArray.java:188)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.getValue(JdbcResultSet.java:189)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.frame(JdbcResultSet.java:142)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:91)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:71)
      org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:703)
      org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:187)
      org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:1064)
      org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:1038)
      org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:102)
      org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:38)
      org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:68)
      org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
      org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      org.eclipse.jetty.server.Server.handle(Server.java:499)
      org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
      org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
      java.lang.Thread.run(Thread.java:745)
" ], 
"errorMessage": "UnsupportedOperationException: Currently not supported", 
"errorCode": 4294967295, 
"sqlState": "00000", 
"metadata": { "serverAddress": "wn11-hbases:8765" }, 
"hasExceptions": true }
   at PhoenixSharp.PhoenixClient.<PrepareAndExecuteRequestAsync>d__2.MoveNext() in \hdinsight-phoenix-sharp-master\hdinsight-phoenix-sharp-master\PhoenixSharp\PhoenixClient.cs:line 74
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at PhoenixSharp.UnitTests.PhoenixClientTests.ConnectAndExecuteWrapper(String sqlQuery, 
StatementType selectType, 
IEnumerable`1 listValues) in \hdinsight-phoenix-sharp-master\hdinsight-phoenix-sharp-master\PhoenixSharp.UnitTests\PhoenixClientTests.cs:line 478
---> (Inner Exception #0) System.Net.WebException: PrepareAndExecuteRequestAsync failed! connectionId: ac6a8eba, 
Response code was: InternalServerError, 
Response body was: { "exceptions": [ "java.lang.UnsupportedOperationException: Currently not supported
      org.apache.phoenix.schema.types.PhoenixArray.getResultSet(PhoenixArray.java:188)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.getValue(JdbcResultSet.java:189)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.frame(JdbcResultSet.java:142)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:91)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:71)
      org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:703)
      org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:187)
      org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:1064)
      org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:1038)
      org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:102)
      org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:38)
      org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:68)
      org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
      org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      org.eclipse.jetty.server.Server.handle(Server.java:499)
      org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
      org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
      java.lang.Thread.run(Thread.java:745)
" ], 
"errorMessage": "UnsupportedOperationException: Currently not supported", 
"errorCode": 4294967295, 
"sqlState": "00000", 
"metadata": { "serverAddress": "wn11-hbases:8765" }, 
"hasExceptions": true }
   at PhoenixSharp.PhoenixClient.<PrepareAndExecuteRequestAsync>d__2.MoveNext() in \hdinsight-phoenix-sharp-master\hdinsight-phoenix-sharp-master\PhoenixSharp\PhoenixClient.cs:line 74<---

Stack Trace :    at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at PhoenixSharp.UnitTests.PhoenixClientTests.ConnectAndExecuteWrapper(String sqlQuery, 
StatementType selectType, 
IEnumerable`1 listValues) in \hdinsight-phoenix-sharp-master\PhoenixSharp.UnitTests\PhoenixClientTests.cs:line 478

Message : System.Net.WebException: PrepareAndExecuteRequestAsync failed! connectionId: ac6a8eba, 
Response code was: InternalServerError, 
Response body was: { "exceptions": [ "java.lang.UnsupportedOperationException: Currently not supported
      org.apache.phoenix.schema.types.PhoenixArray.getResultSet(PhoenixArray.java:188)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.getValue(JdbcResultSet.java:189)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.frame(JdbcResultSet.java:142)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:91)
      org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:71)
      org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:703)
      org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:187)
      org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:1064)
      org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:1038)
      org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:102)
      org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:38)
      org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:68)
      org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
      org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      org.eclipse.jetty.server.Server.handle(Server.java:499)
      org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
      org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
      java.lang.Thread.run(Thread.java:745)
" ], 
"errorMessage": "UnsupportedOperationException: Currently not supported", 
"errorCode": 4294967295, 
"sqlState": "00000", 
"metadata": { "serverAddress": "wn11-hbases:8765" }, 
"hasExceptions": true }
   at PhoenixSharp.PhoenixClient.<PrepareAndExecuteRequestAsync>d__2.MoveNext() in \hdinsight-phoenix-sharp-master\hdinsight-phoenix-sharp-master\PhoenixSharp\PhoenixClient.cs:line 74
Stack Trace :    at PhoenixSharp.PhoenixClient.<PrepareAndExecuteRequestAsync>d__2.MoveNext() in \hdinsight-phoenix-sharp-master\hdinsight-phoenix-sharp-master\PhoenixSharp\PhoenixClient.cs:line 74"
duoxu commented 8 years ago

@dsp0109

This looks like not supported in current version of Phoenix Query Server. I saw someone has already filed Apache JIRAs for this. I will ask Hortonworks to see what is the current status of this issue.

https://issues.apache.org/jira/browse/PHOENIX-2805 https://issues.apache.org/jira/browse/PHOENIX-2585 https://issues.apache.org/jira/browse/CALCITE-1050

duoxu commented 8 years ago

Got answer from Hortonworks, they are working on it. It is not supported in current version of Phoenix Query Server.