You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2019/06/20 12:02:28 UTC
[GitHub] [incubator-druid] shizhengchao opened a new issue #7931: a problem
with druid jdbc support
shizhengchao opened a new issue #7931: a problem with druid jdbc support
URL: https://github.com/apache/incubator-druid/issues/7931
when i use `Avatica JDBC driver` connected to `druid router`,i got an error:
```
org.apache.druid.java.util.common.IAE: Received an Avatica request without a connectionId.
```
The following is a detailed description:
### Affected Version
0.14
### Description
when i use `Avatica JDBC driver` connected to `druid router`,when `avatica-remote` send `execute` request to `druid router`, an error happend , i found the `connectionId` is under the key `statementHandle` like this:
```json
{"request":"execute","statementHandle":{"connectionId":"b1511e18-c6b8-4c79-a166-977c204511ef","id":1,"signature":{"columns":[{"ordinal":0,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":0,"signed":true,"displaySize":3,"label":"__time","columnName":"__time","schemaName":null,"precision":3,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":93,"name":"TIMESTAMP","rep":"NUMBER"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.sql.Timestamp"},{"ordinal":1,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":0,"signed":true,"displaySize":19,"label":"added","columnName":"added","schemaName":null,"precision":19,"scale":0,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":-5,"name":"BIGINT","rep":"NUMBER"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.Long"},{"ordinal":2,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"channel","columnName":"channel","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":3,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"cityName","columnName":"cityName","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":4,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"comment","columnName":"comment","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":5,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"countryIsoCode","columnName":"countryIsoCode","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":6,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"countryName","columnName":"countryName","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":7,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":0,"signed":true,"displaySize":19,"label":"deleted","columnName":"deleted","schemaName":null,"precision":19,"scale":0,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":-5,"name":"BIGINT","rep":"NUMBER"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.Long"},{"ordinal":8,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":0,"signed":true,"displaySize":19,"label":"delta","columnName":"delta","schemaName":null,"precision":19,"scale":0,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":-5,"name":"BIGINT","rep":"NUMBER"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.Long"},{"ordinal":9,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"isAnonymous","columnName":"isAnonymous","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":10,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"isMinor","columnName":"isMinor","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":11,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"isNew","columnName":"isNew","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":12,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"isRobot","columnName":"isRobot","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":13,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"isUnpatrolled","columnName":"isUnpatrolled","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":14,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"metroCode","columnName":"metroCode","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":15,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"namespace","columnName":"namespace","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":16,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"page","columnName":"page","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":17,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"regionIsoCode","columnName":"regionIsoCode","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":18,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"regionName","columnName":"regionName","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"},{"ordinal":19,"autoIncrement":false,"caseSensitive":true,"searchable":false,"currency":false,"nullable":1,"signed":true,"displaySize":-1,"label":"user","columnName":"user","schemaName":null,"precision":-1,"scale":-2147483648,"tableName":null,"catalogName":null,"type":{"type":"scalar","id":12,"name":"VARCHAR","rep":"STRING"},"readOnly":true,"writable":false,"definitelyWritable":false,"columnClassName":"java.lang.String"}],"sql":"select * from wikipedia where comment = 'added project'","parameters":[],"cursorFactory":{"style":"ARRAY","clazz":null,"fieldNames":null},"statementType":"SELECT"}},"parameterValues":[],"maxRowCount":100}
```
so, an error occured in `org.apache.druid.server.AsyncQueryForwardingServlet#service`:
```java
if (isAvatica) {
.....
String connectionId = getAvaticaConnectionId(requestMap);
......
}
private static String getAvaticaConnectionId(Map<String, Object> requestMap)
{
// There should be an error here, because the connectionId is in `statementHandle`
Object connectionIdObj = requestMap.get("connectionId");
if (connectionIdObj == null) {
throw new IAE("Received an Avatica request without a connectionId.");
}
if (!(connectionIdObj instanceof String)) {
throw new IAE("Received an Avatica request with a non-String connectionId.");
}
return (String) connectionIdObj;
}
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org