You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Francis Chuang (Jira)" <ji...@apache.org> on 2019/08/21 22:27:00 UTC

[jira] [Comment Edited] (CALCITE-3277) calcite-avatica-go: panic: proto: can't skip unknown wire type 4

    [ https://issues.apache.org/jira/browse/CALCITE-3277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16912739#comment-16912739 ] 

Francis Chuang edited comment on CALCITE-3277 at 8/21/19 10:26 PM:
-------------------------------------------------------------------

I haven't used druid before, but I noticed the following in the [druid docs|[https://druid.apache.org/docs/latest/querying/sq|https://druid.apache.org/docs/latest/querying/sql]]:
 * `druid.sql.avatica.enable` enables JDBC querying using `/druid/v2/sql/avatica/` and defaults to true. The Go avatica driver does not implement JDBC, rather, it implements protobuf over HTTP.
 * `druid.sql.http.enable` enables JSON over HTTP and defaults to true. As the Go avatica driver does not use JSON, it would fail. 

I'd suggest adding a debug statement here: [https://github.com/apache/calcite-avatica-go/blob/master/http_client.go#L136] , to see the raw response from the server. Something like `fmt.Println(response)` would do.

 


was (Author: francischuang):
I haven't used druid before, but I noticed the following in the [druid docs|[https://druid.apache.org/docs/latest/querying/sql]]:
 * `druid.sql.avatica.enable` enables JDBC querying using `/druid/v2/sql/avatica/` and defaults to true. The Go avatica driver does not implement JDBC, rather, it implements protobuf over HTTP.
 * `druid.sql.http.enable` enables JSON over HTTP and defaults to true. As the Go avatica driver does not use JSON, it would fail. 

I'd suggest adding a debug statement here: [https://github.com/apache/calcite-avatica-go/blob/master/http_client.go#L136] , to see the raw response from the server. Something like `fmt.Println(response)` would do.

 

> calcite-avatica-go: panic: proto: can't skip unknown wire type 4
> ----------------------------------------------------------------
>
>                 Key: CALCITE-3277
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3277
>             Project: Calcite
>          Issue Type: Bug
>          Components: avatica-go
>            Reporter: Shurmin Evgeniy
>            Assignee: Francis Chuang
>            Priority: Critical
>             Fix For: avatica-go-5.0.0
>
>
> I can't perform simple query to druid using {{github.com/apache/calcite-avatica-go. }}
> Code:
> {code:java}
> package main
> import (
> 	"database/sql"
> 	"fmt"
> 	_ "github.com/apache/calcite-avatica-go/v4"
> )
> func main() {
> 	db, err := sql.Open("avatica", "http://********:8888/druid/v2/sql/avatica/")
> 	if err != nil { panic(err) }
> 	rows, err := db.Query(`SELECT * FROM sys.servers`)
> 	if err != nil { panic(err) }
> 	defer func() {
> 		if err := rows.Close(); err != nil { panic(err) }
> 	}()
> 	for rows.Next() {
> 		var server, host float64
> 		err = rows.Scan(&server, &host)
> 		if err != nil { panic(err) }
> 		fmt.Printf("server: %v, host: %v\n", server, host)
> 	}
> }
> {code}
> Console:
> {{panic: proto: can't skip unknown wire type 4}}
>  {{goroutine 1 [running]:main.main() main.go:17 +0x30d}}
>  {{Process finished with exit code 2}}
> Golang:
> {{go version go1.12.7 darwin/amd64}}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)