apache / apache/arrow-java

[Java][Flight] Add caching of FlightClients to JDBC

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

描述

### Describe the enhancement requested

When getFlightInfo reports a list of endpoints, the driver internally creates a FlightClient for each endpoint that reports a Location. These clients can benefit from being cached/pooled since a server will likely re-use endpoints for subsequent queries. This should likely be a configuration option.

The driver should also check if the Location at an endpoint is the same as the original location used when calling getFlightInfo and avoid creating a new FlightClient in this case.

Investigate using https://github.com/ben-manes/caffeine for caching.

### Component(s)

FlightRPC, Java

贡献指南

打开贡献指南

调研方向

首先跟踪 Java JDBC 驱动的 getFlightInfo 路径,并调查它如何为返回的 Locations 创建 FlightClients。按照建议调查 Caffeine,然后定义用于客户端缓存或池化的配置选项,并验证原始 Location 会被重用,而不会创建重复的客户端。完成的标准是:后续查询会重用端点客户端,并且原始 Location 不会导致创建额外的客户端。

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

评估

技术栈
java
领域
api
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

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