apache / apache/arrow-java

[Java] Ability to use a path based host when using the JDBC driver

未关闭
#208 9 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看
Type: enhancement
主要语言
Java
星标
94
派生
152
平均合并
3 天 16 小时
30 天内合并 PR
11

描述

### Describe the enhancement requested

From an infrastructure perspective, it would be easier for us to do path based routing for our Flight server instead of sub-domain based routing. For example, `https://mydomain.com/grpc/flight`. A model like this would allow us to create routing rules for all grpc services we expose within our company using shared architecture.

Looking around at `getUrlsArgs` , there seems to be no use for the `path` part of the JDBC URI, so I see a few ways this could be implemented:

```
jdbc:arrow-flight-sql://mydomain.com/grpc/flight:443
jdbc:arrow-flight-sql://https://mydomain.com/grpc/flight:443
jdbc:arrow-flight-sql://mydomain.com:443/grpc/flight
jdbc:arrow-flight-sql://https://mydomain.com:443/grpc/flight
```

This seems to be fairly uncommon, but there's at least one other driver that does this. For example, the Simba BigQuery connection looks like this:

```
jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=;OAuthType=0;OAuthServiceAcctEmail=;OAuthPvtKeyPath=;
```

I'm not sure if this is already supported by the `Avatica` driver, so it may also need some changes there.

### Component(s)

Java

贡献指南

打开贡献指南

调研方向

首先阅读 issue 中提到的 getUrlsArgs 逻辑,并跟踪 Java JDBC URI 的解析过程。检查 Avatica driver 是否支持基于路径的 host,然后定义所接受的 URI 形式,并通过测试验证由此产生的路由行为;issue 未指定具体的文件或测试。

由索引模型根据 Issue 内容生成。

评估

技术栈
grpc, java
领域
api
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
28/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。