Repository navigation
TsGate 2.1.2
TsGate 2.1.2 preserves the public API, Template → SPI → backend architecture and Java 17 baseline while addressing five adapter issues:
- Disable HTTP redirects to prevent redirected writes from reporting false success.
- Reject missing InfluxDB 3 query JSON; a valid
[]still means no rows. - Reject aggregate output-name collisions before database I/O, using each backend’s identifier rules.
- Add a configurable 64 MiB combined UTF-8 byte budget for HTTP application batches, with complete preflight before sending.
- Cache independent POJO read-mapping plans with
ClassValue, retaining DTO, annotation and conversion behavior.
Upgrade: HTTP batches above 67,108,864 bytes now fail locally with ARGUMENT_ERROR / NOT_COMMITTED. Configure max-batch-bytes under tsdb.influxdb1, tsdb.influxdb or tsdb.opengemini when a larger application batch is required. Existing per-request bounds still apply.
Validation: each of Java 17 / Boot 2.7.18, Java 21 / Boot 3.5.14 and Java 25 / Boot 4.1.0 passed 1,233 unit tests. Local Docker passed 304 integration tests: IoTDB 2.0.10, InfluxDB OSS 1.13.1, InfluxDB 3 Core 3.11.5, plus openGemini 1.4.1 and 1.5.2 in both single-node and three-node/three-replica deployments. All final selected tests had zero failures, errors or skips; owned resources were removed. Test-script regression checks passed 71 cases; 27 unsigned release JARs and 11 POMs passed artifact verification.
Initial Docker attempts exposed new-database Raft readiness races and an incorrect assumption about 1.4.1 log fields in the first test gate. Version-specific test preparation was corrected, followed by a fresh complete matrix on the release commit. Historical failed/interrupted attempts and diagnostic controls are disclosed in the verification report; production writes are not automatically replayed.
Both GitHub Actions runs passed all nine jobs; downloaded raw reports independently confirmed source identity, coverage and owned-resource cleanup.
Main CI · Tag CI · English release notes · 中文发布说明
Source: 2ba077ac0f960555ccb00eee33373b7cd3ace324.
GitHub only. Maven Central remains at 2.1.0. The ZIP contains unsigned binary/source/Javadoc JARs, POMs and license notices; build and install this tag locally to consume version 2.1.2. release-verification.json records source, artifact, benchmark, local-test and CI evidence; SHA256SUMS verifies the ZIP and report.
本版本完成五项优化:HTTP 重定向安全、InfluxDB 3 查询空响应校验、聚合输出名称冲突预检、HTTP 整批字节预算及 POJO 读取映射缓存,保留公共 API、主干架构与 Java 17 基线。
升级时请注意 HTTP 整批默认上限为 64 MiB;超限会在发送前报 ARGUMENT_ERROR / NOT_COMMITTED,可通过各 HTTP 后端的 max-batch-bytes 调整。三组 Java 组合各通过 1,233 项单测,本地 Docker 304 项集成测试全部通过,包括 openGemini 两版本的单节点及三节点三副本场景;最终测试失败、错误、跳过均为零,测试资源已清理。另有 71 项脚本检查及发行制品审计通过。
测试中发现的 Raft 建库就绪竞态和首版 1.4.1 日志门禁缺陷均已记录,并修正测试准备后基于最终提交完整重验;生产代码不会自动重放提交状态不明的写入。微基准仅衡量本机 DTO 映射,具体数据和限制见 Wiki 与验证报告。
main 与 v2.1.2 标签 CI 各 9 个任务全部通过,下载的原始测试报告、源码身份、覆盖范围及资源清理证据已独立核验。
仅发布 GitHub,未更新 Maven Central(仍为 2.1.0)。 使用 2.1.2 依赖前请从此标签源码构建并安装至本地仓库。附件提供无签名发行包、验证报告与 SHA-256 校验文件。