[
https://issues.apache.org/jira/browse/PHOENIX-2829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244863#comment-15244863
]
Josh Elser commented on PHOENIX-2829:
-------------------------------------
Hi [~eric.daigneault]. Sorry you're running into this problem.
This exception is saying that the request which the Phoenix QueryServer
received was incomplete. {{WireMessage}} is a "wrapper" around every request
and response. For some reason, it reads like the message was truncated.
Sadly, I have no idea why you might be seeing this -- I never even run into a
similar issue before. I'm not sure what I can recommend you try to debug it.
Maybe try to start PQS locally and verify that it can work (or cannot) without
traversing the network?
> queryserver fails with InvalidProtocolBufferException when connecting from
> thinclient
> -------------------------------------------------------------------------------------
>
> Key: PHOENIX-2829
> URL: https://issues.apache.org/jira/browse/PHOENIX-2829
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.7.0
> Environment: cluster on Ubuntu 14.04, client app on windows 7
> Hadoop 2.7.2, HBase 1.1.3 and Phoenix 4.7.0, cluster with 3 nodes
> Reporter: Eric Daigneault
>
> Have a cluster of 3 nodes and was able to perform misc queries and yarn jobs
> on it using just HBase. Installed Phoenix to get the SQL interface and all
> worked fine with the "fat" client jar in a simple eclipse app.
> Was also able to perform querries with SQuirreL and that same client jar
> without issues.
> I then tried the thin driver with the queryserver and was never able to get
> it to work. Squirrel and the simple app return the same error as seen from
> the server's log (see panel below)
> The query server runs on the master node which contains the hbase region
> server and the environment variable HBASE_CONF_DIR is set to the folder
> containing hbase-site.xml and other hbase configurations.
> {noformat}
> java.lang.RuntimeException:
> org.apache.calcite.avatica.com.google.protobuf.InvalidProtocolBufferException:
> While parsing a protocol message, the input ended unexpectedly in the middle
> of a field. This could mean either that the input has been truncated or that
> an embedded message misreported its own length.
>
> at
> org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:98)
>
> at
> org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:38)
>
> at
> org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:68)
>
> at
> org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
>
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>
> at org.eclipse.jetty.server.Server.handle(Server.java:497)
>
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
>
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
>
> at
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
>
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>
> at java.lang.Thread.run(Thread.java:745)
>
> Caused by:
> org.apache.calcite.avatica.com.google.protobuf.InvalidProtocolBufferException:
> While parsing a protocol message, the input ended unexpectedly in the middle
> of a field. This could mean either that the input has been truncated or that
> an embedded message misreported its own length.
>
> at
> org.apache.calcite.avatica.com.google.protobuf.InvalidProtocolBufferException.truncatedMessage(InvalidProtocolBufferException.java:70)
>
>
> at
> org.apache.calcite.avatica.com.google.protobuf.CodedInputStream.skipRawBytesSlowPath(CodedInputStream.java:1293)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.CodedInputStream.skipRawBytes(CodedInputStream.java:1276)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.CodedInputStream.skipField(CodedInputStream.java:197)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.CodedInputStream.skipMessage(CodedInputStream.java:273)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.CodedInputStream.skipField(CodedInputStream.java:200)
>
> at
> org.apache.calcite.avatica.proto.Common$WireMessage.<init>(Common.java:11627)
>
> at
> org.apache.calcite.avatica.proto.Common$WireMessage.<init>(Common.java:11595)
>
> at
> org.apache.calcite.avatica.proto.Common$WireMessage$1.parsePartialFrom(Common.java:12061)
>
> at
> org.apache.calcite.avatica.proto.Common$WireMessage$1.parsePartialFrom(Common.java:12055)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:137)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:168)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:180)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:185)
>
> at
> org.apache.calcite.avatica.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
>
> at
> org.apache.calcite.avatica.proto.Common$WireMessage.parseFrom(Common.java:11760)
>
> at
> org.apache.calcite.avatica.remote.ProtobufTranslationImpl.parseRequest(ProtobufTranslationImpl.java:236)
>
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)