[ 
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)

Reply via email to