- #360: Support passing interceptors to the Flight client.
- #363: Support custom tag order via
tagOrderwrite option. See Sort tags by priority for more.
- #352: Upgrade Arrow Flight client dependencies.
- #351: Enterprise/Core structured errors handling.
- #317: Fix Arrow memory leak when stream close fails due to thread interrupts.
- #318: Explicit releasing of the VectorSchemaRoot.
- #306: Improve closing of Arrow
FlightStream.
- #310: Ensure
QueryOptionsobjects are left unchanged within thequeryDataimplementation.
- #289 Add the possibility to disable gRPC compression via the
disableGRPCCompressionparameter in theClientConfig.
- #283 Fix pipeline not downloading the correct java images.
- #265 Add more precise timeout properties to
ClientConfig.- Current property
timeoutis deprecated, as it applies only to the Write API and can be confusing to some users. - Two new properties are added, along with getters and similar setters in the
ClientConfig.Builder.writeTimeout- ajava.time.Durationthat applies only to the Write API.queryTimeout- ajava.time.Durationused to calculate deadlines when using the Query API.
- These properties can also be defined when creating a client using environment variables. Respectively:
INFLUX_WRITE_TIMEOUT- a positive integer. The time unit is in seconds.INFLUX_QUERY_TIMEOUT- a positive integer. The time unit is in seconds.
- These properties can also be defined when creating a client using system properties. Respectively:
influx.writeTimeout- a positive integer. The time unit is in seconds.influx.queryTimeout- a positive integer. The time unit is in seconds.
- Current property
- #266 Add tests for arm64 CircleCI.
- #250 Upgrade Netty version to 4.2.3.Final.
- #251 Add comment warning null when calling getMeasurement function.
- #252 Run integration tests against a locally started InfluxDB 3 Core server.
- #253 New Durable example showing client reuse for better resource management.
- #209 Add query function returning row as map.
- #238: Support fast writes without waiting for WAL
persistence:
- New write option (
WriteOptions.noSync) added:truevalue means faster write but without the confirmation that the data was persisted. Default value:false. - Supported by self-managed InfluxDB 3 Core and Enterprise servers only!
- Also configurable via connection string query parameter (
writeNoSync). - Also configurable via environment variable (
INFLUX_WRITE_NO_SYNC). - Long precision string values added from v3 HTTP API:
"nanosecond","microsecond","millisecond","second"( in addition to the existing"ns","us","ms","s").
- New write option (
- #241: Some default options will be used from a getter.
- #243: Add function to get InfluxDB version.
-
#239: Use write options from
ClientConfiginInfluxDBClientImplwrite methods:public void writeRecord(@Nullable final String record); public void writeRecords(@Nonnull final List<String> records); public void writePoint(@Nullable final Point point); public void writePoints(@Nonnull final List<Point> points);
- #229: Support proxy and custom ssl root certificates
- #232: Allow set rpc max message size through maxInboundMessageSize in ClientConfig
- #233: More detailed documentation about timestamp handling for query and write functions
- #236: Supports Java 21.
- #200: Respect iox::column_type::field metadata when
mapping query results into values.
- iox::column_type::field::integer: => Long
- iox::column_type::field::uinteger: => Long
- iox::column_type::field::float: => Double
- iox::column_type::field::string: => String
- iox::column_type::field::boolean: => Boolean
- #202: Migrate from
flight-grpctoflight-corepackage.
- #158: Add InfluxDB Edge (OSS) authentication support.
- #163: Introduces
InfluxDBApiHttpExceptionto facilitate write retries and error recovery.
- #144: user-agent header is updated for both REST and gRPC calls.
-
#107: Custom headers are also supported for the query (gRPC request)
ClientConfig config = new ClientConfig.Builder() .host("https://us-east-1-1.aws.cloud2.influxdata.com") .token("my-token".toCharArray()) .database("my-database") .headers(Map.of("X-Tracing-Id", "123")) .build(); try (InfluxDBClient client = InfluxDBClient.getInstance(config)) { // // your code here // } catch (Exception e) { throw new RuntimeException(e); }
-
#108: Custom headers can be specified per request (query/write):
ClientConfig config = new ClientConfig.Builder() .host("https://us-east-1-1.aws.cloud2.influxdata.com") .token("my-token".toCharArray()) .database("my-database") .build(); try (InfluxDBClient client = InfluxDBClient.getInstance(config)) { // // Write with custom headers // WriteOptions writeOptions = new WriteOptions( Map.of("X-Tracing-Id", "852") ); client.writeRecord("mem,tag=one value=1.0", writeOptions); // // Query with custom headers // QueryOptions queryOptions = new QueryOptions( Map.of("X-Tracing-Id", "852") ); Stream<Object[]> rows = client.query("select * from cpu", queryOptions); } catch (Exception e) { throw new RuntimeException(e); }
- #94: Add support for named query parameters
Resync artifacts with Maven Central.
- #78: Default Tags can be used when writing points.
- #77: Serialize InfluxDB response to
PointValues
- #41: Add structured query support
- #55: Iteration over more Arrow streams
- #40: Add client creation from connection string, environment variables or system properties.
- #31: Renamed config types and some options
- initial release of new client version