Skip to content

TsGate 2.1.1

Choose a tag to compare

@AlanDevise AlanDevise released this 07 Oct 09:01

TsGate 2.1.1 fixes cursor-time validation and IoTDB mixed-case batch writes, and adds reusable backend contracts plus automatic Docker regression. The Template → SPI → backend architecture, public API and Java 17 baseline are unchanged.

GitHub-only release. Maven Central remains at 2.1.0; 2.1.1 has not been deployed to Central. Install the source tag locally before declaring 2.1.1 dependencies:

git clone --branch v2.1.1 --depth 1 https://github.com/AlanDevise/TsGate.git tsgate-2.1.1
cd tsgate-2.1.1
mvn clean install

Changes:

  • Cursor timestamps require finite, integral values within signed-long bounds. A page with hasNext=true must provide a usable next time cursor, otherwise it fails with QUERY_ERROR.
  • IoTDB preflight and Tablet values share lowercase physical column identity. Ambiguous columns or conflicting roles/types reject the entire batch before I/O; compatible case variants across rows retain their values without modifying caller records.
  • All four backends run common test contracts, with a machine-checked capability/configuration table. Test helpers introduce no production SPI or runtime dependency.
  • Relevant PRs/pushes select Docker regressions automatically. Release tags and manual runs execute the complete OpenGemini 1.4.1/1.5.2 single-node and three-node/three-replica matrix. The verification gate requires successful checks on the release commit.

Fresh local verification on commit 7c7cf76100085891131080ca0fddf2273a4dfa0e:

  • JDK 17 / Boot 2.7.18, JDK 21 / Boot 3.5.14, JDK 25 / Boot 4.1.0: 1,078 unit tests passed in each combination.
  • IoTDB 2.0.10, InfluxDB OSS 1.13.1 and InfluxDB 3 Core 3.11.5: 115 Docker integration tests passed, including 12 mixed-case IoTDB rows in one Tablet with readback.
  • OpenGemini 1.4.1 and 1.5.2, each single node and three-node/three-replica cluster: 44 tests per deployment, 176 total.
  • Zero failures, errors or skips; owned test containers/networks removed; source identity unchanged. 51 Python checks and 27 unsigned release JAR archive audits passed.
  • GitHub main regression and full tag validation: all 9 jobs passed in each run, including the source/database verification gate on this same commit.

Attachments include Java 17 binary/source/Javadoc JARs and aligned POMs, release-verification.json, and SHA-256 checksums. They are unsigned GitHub artifacts. Recorded tests cover the listed versions/configurations; existing time-only cursor and backend-specific limits remain documented.

English release notes · 中文发布说明


2.1.1 已完成四项改进:游标时间精确校验、IoTDB 大小写列一致性、共享适配器契约测试、自动 Docker CI。主干设计、公共 API 和 Java 17 基线保持不变。

本地三个运行时组合各通过 1,078 项单测,既有三后端通过 115 项 Docker 集成测试,OpenGemini 两个版本的单节点及三节点三副本环境各通过 44 项,共 176 项。失败、错误、跳过均为零,测试资源已清理。

本版本只发布到 GitHub,Maven 中央库仍为 2.1.0。 使用 2.1.1 前,请按上面的命令安装发行源码到本地 Maven 仓库。双语 Wiki、README 和开发指南已同步。