diff --git a/ingester-all/pom.xml b/ingester-all/pom.xml index 0e719a7..590ed05 100644 --- a/ingester-all/pom.xml +++ b/ingester-all/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-all diff --git a/ingester-bulk-protocol/pom.xml b/ingester-bulk-protocol/pom.xml index 134655b..932c1ca 100644 --- a/ingester-bulk-protocol/pom.xml +++ b/ingester-bulk-protocol/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-bulk-protocol diff --git a/ingester-common/pom.xml b/ingester-common/pom.xml index f00faf1..34aa2dc 100644 --- a/ingester-common/pom.xml +++ b/ingester-common/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-common diff --git a/ingester-example/README.md b/ingester-example/README.md index 5aede21..9c762ff 100644 --- a/ingester-example/README.md +++ b/ingester-example/README.md @@ -81,7 +81,9 @@ This API is particularly well-suited for: The Bulk Write API provides a high-performance, memory-efficient mechanism for ingesting large volumes of time-series data into GreptimeDB. It leverages Apache Arrow's Flight protocol and off-heap memory management to achieve optimal throughput when writing batches of data. -Unlike regular streaming, this API allows continuous writing to only one table per stream, but can handle very large data volumes (up to 200MB per write). It features sophisticated adaptive flow control mechanisms that automatically adjust to your data throughput requirements. +**Important Note**: +- This API is designed around streaming connections, which means each stream establishes a connection to only one database node. Unlike the regular write API, it lacks automatic load balancing for individual requests. However, if your use case involves multiple clients establishing multiple streams to the database, this limitation is not a concern. +- Unlike regular streaming, this API allows continuous writing to only one table per stream, but can handle very large data volumes (up to 200MB per write). It features sophisticated adaptive flow control mechanisms that automatically adjust to your data throughput requirements. The Bulk Write API achieves superior performance compared to the Regular Write API through: - Off-heap memory management using Arrow buffers diff --git a/ingester-example/pom.xml b/ingester-example/pom.xml index 097fb84..913a648 100644 --- a/ingester-example/pom.xml +++ b/ingester-example/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-example diff --git a/ingester-example/src/main/java/io/greptime/bench/DBConnector.java b/ingester-example/src/main/java/io/greptime/bench/DBConnector.java index b4d53b4..d772bea 100644 --- a/ingester-example/src/main/java/io/greptime/bench/DBConnector.java +++ b/ingester-example/src/main/java/io/greptime/bench/DBConnector.java @@ -44,6 +44,7 @@ public static GreptimeDB connect() { GreptimeOptions opts = GreptimeOptions.newBuilder(endpoints, database) .writeMaxRetries(0) .defaultStreamMaxWritePointsPerSecond(Integer.MAX_VALUE) + .maxInFlightWritePoints(Integer.MAX_VALUE) .useZeroCopyWriteInBulkWrite(true) .build(); LOG.info("Connect to db: {}, endpoint: {}", database, endpointsStr); diff --git a/ingester-example/src/main/java/io/greptime/bench/benchmark/BatchingWriteBenchmark.java b/ingester-example/src/main/java/io/greptime/bench/benchmark/BatchingWriteBenchmark.java index f76160b..8b26848 100644 --- a/ingester-example/src/main/java/io/greptime/bench/benchmark/BatchingWriteBenchmark.java +++ b/ingester-example/src/main/java/io/greptime/bench/benchmark/BatchingWriteBenchmark.java @@ -53,11 +53,9 @@ public class BatchingWriteBenchmark { public static void main(String[] args) throws Exception { boolean zstdCompression = SystemPropertyUtil.getBool("zstd_compression", true); int batchSize = SystemPropertyUtil.getInt("batch_size_per_request", 64 * 1024); - int maxPointsPerSecond = SystemPropertyUtil.getInt("max_points_per_second", Integer.MAX_VALUE); LOG.info("Using zstd compression: {}", zstdCompression); LOG.info("Batch size: {}", batchSize); - LOG.info("Max points per second: {}", maxPointsPerSecond); // Start a metrics exporter MetricsExporter metricsExporter = new MetricsExporter(MetricsUtil.metricRegistry()); diff --git a/ingester-grpc/pom.xml b/ingester-grpc/pom.xml index b7526d1..4786093 100644 --- a/ingester-grpc/pom.xml +++ b/ingester-grpc/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-grpc diff --git a/ingester-prometheus-metrics/pom.xml b/ingester-prometheus-metrics/pom.xml index 4c69bd6..036e183 100644 --- a/ingester-prometheus-metrics/pom.xml +++ b/ingester-prometheus-metrics/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-prometheus-metrics diff --git a/ingester-protocol/pom.xml b/ingester-protocol/pom.xml index 6a65a04..a24a0c8 100644 --- a/ingester-protocol/pom.xml +++ b/ingester-protocol/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-protocol diff --git a/ingester-protocol/src/main/resources/client_version.properties b/ingester-protocol/src/main/resources/client_version.properties index ec2db27..e65da17 100644 --- a/ingester-protocol/src/main/resources/client_version.properties +++ b/ingester-protocol/src/main/resources/client_version.properties @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -client.version=0.14.5 +client.version=0.14.6 diff --git a/ingester-protocol/src/test/java/io/greptime/UtilTest.java b/ingester-protocol/src/test/java/io/greptime/UtilTest.java index 26dcaf1..734552a 100644 --- a/ingester-protocol/src/test/java/io/greptime/UtilTest.java +++ b/ingester-protocol/src/test/java/io/greptime/UtilTest.java @@ -27,6 +27,6 @@ public class UtilTest { @Test public void testClientVersion() { String ver = Util.clientVersion(); - Assert.assertEquals("0.14.5", ver); + Assert.assertEquals("0.14.6", ver); } } diff --git a/ingester-rpc/pom.xml b/ingester-rpc/pom.xml index 4c9fbef..e8d125a 100644 --- a/ingester-rpc/pom.xml +++ b/ingester-rpc/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 ingester-rpc diff --git a/pom.xml b/pom.xml index 9638af8..1d5cac0 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ io.greptime greptimedb-ingester - 0.14.5 + 0.14.6 pom ${project.groupId}:${project.artifactId}