[Java] Ability to use a path based host when using the JDBC driver
- Vorherrschende Sprache
- Java
- Sterne
- 94
- Forks
- 152
- Ø Merge
- 3 T. 16 Std.
- Gemergte PRs (30 T.)
- 11
Beschreibung
### 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
Beitragsleitfaden
Rechercherichtung
Beginne damit, die im Issue erwähnte getUrlsArgs-Logik zu lesen, und verfolge, wie die Java JDBC URI geparst wird. Prüfe, ob der Avatica-Treiber einen host auf Pfadbasis unterstützt, definiere dann die akzeptierte URI-Form und verifiziere das daraus resultierende Routing-Verhalten mit Tests; das Issue nennt keine spezifischen Dateien oder Tests.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- grpc, java
- Bereich
- api
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 28/100