Skip to content

Commit 826f5ba

Browse files
feat: allows users set some grpc options
1 parent e507aab commit 826f5ba

File tree

9 files changed

+862
-13
lines changed

9 files changed

+862
-13
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
### Features
44

55
1. [#229](https://github.com/InfluxCommunity/influxdb3-java/pull/229): Support proxy and custom ssl root certificates
6-
2. [#233](https://github.com/InfluxCommunity/influxdb3-java/pull/233): More detailed documentation about timestamp handling for query and write functions
6+
2. [#232](https://github.com/InfluxCommunity/influxdb3-java/pull/232): Allow set rpc max message size through maxInboundMessageSize in ClientConfig
7+
3. [#233](https://github.com/InfluxCommunity/influxdb3-java/pull/233): More detailed documentation about timestamp handling for query and write functions
78

89
## 1.0.0 [2024-12-11]
910

src/main/java/com/influxdb/v3/client/config/ClientConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@
5757
* <li><code>disableServerCertificateValidation</code> -
5858
* disable server certificate validation for HTTPS connections
5959
* </li>
60-
* <li><code>proxyUrl</code> - Proxy url for query api and write api</li>
60+
* <li><code>proxyUrl</code> - proxy url for query api and write api</li>
6161
* <li><code>authenticator</code> - HTTP proxy authenticator</li>
6262
* <li><code>headers</code> - headers to be added to requests</li>
63-
* <li><code>sslRootsFilePath</code> - Path to the stored certificates file in PEM format</li>
63+
* <li><code>sslRootsFilePath</code> - path to the stored certificates file in PEM format</li>
6464
* </ul>
6565
* <p>
6666
* If you want to create a client with custom configuration, you can use following code:

src/main/java/com/influxdb/v3/client/internal/FlightSqlClient.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import io.netty.handler.ssl.SslContext;
5050
import io.netty.handler.ssl.SslContextBuilder;
5151
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
52+
import org.apache.arrow.flight.CallOption;
5253
import org.apache.arrow.flight.FlightClient;
5354
import org.apache.arrow.flight.FlightGrpcUtils;
5455
import org.apache.arrow.flight.FlightStream;
@@ -106,7 +107,8 @@ Stream<VectorSchemaRoot> execute(@Nonnull final String query,
106107
@Nonnull final String database,
107108
@Nonnull final QueryType queryType,
108109
@Nonnull final Map<String, Object> queryParameters,
109-
@Nonnull final Map<String, String> headers) {
110+
@Nonnull final Map<String, String> headers,
111+
final CallOption... callOptions) {
110112

111113
Map<String, Object> ticketData = new HashMap<>() {{
112114
put("database", database);
@@ -126,8 +128,10 @@ Stream<VectorSchemaRoot> execute(@Nonnull final String query,
126128
}
127129

128130
HeaderCallOption headerCallOption = metadataHeader(headers);
131+
CallOption[] callOptionArray = GrpcCallOptions.mergeCallOptions(callOptions, headerCallOption);
132+
129133
Ticket ticket = new Ticket(json.getBytes(StandardCharsets.UTF_8));
130-
FlightStream stream = client.getStream(ticket, headerCallOption);
134+
FlightStream stream = client.getStream(ticket, callOptionArray);
131135
FlightSqlIterator iterator = new FlightSqlIterator(stream);
132136

133137
Spliterator<VectorSchemaRoot> spliterator = Spliterators.spliteratorUnknownSize(iterator, Spliterator.NONNULL);
@@ -141,11 +145,10 @@ public void close() throws Exception {
141145

142146
@Nonnull
143147
private FlightClient createFlightClient(@Nonnull final ClientConfig config) {
144-
Location location = createLocation(config);
145-
146-
final NettyChannelBuilder nettyChannelBuilder = NettyChannelBuilder.forTarget(location.getUri().getHost());
148+
URI uri = createLocation(config).getUri();
149+
final NettyChannelBuilder nettyChannelBuilder = NettyChannelBuilder.forAddress(uri.getHost(), uri.getPort());
147150

148-
if (LocationSchemes.GRPC_TLS.equals(location.getUri().getScheme())) {
151+
if (LocationSchemes.GRPC_TLS.equals(uri.getScheme())) {
149152
nettyChannelBuilder.useTransportSecurity();
150153

151154
SslContext nettySslContext = createNettySslContext(config);
@@ -164,7 +167,6 @@ private FlightClient createFlightClient(@Nonnull final ClientConfig config) {
164167
}
165168

166169
nettyChannelBuilder.maxTraceEvents(0)
167-
.maxInboundMessageSize(Integer.MAX_VALUE)
168170
.maxInboundMetadataSize(Integer.MAX_VALUE);
169171

170172
return FlightGrpcUtils.createFlightClient(new RootAllocator(Long.MAX_VALUE), nettyChannelBuilder.build());

0 commit comments

Comments
 (0)