Skip to content

Mito2 Code Cleanup & Repartition Rollback Fix | Greptime Biweekly Report - No. 81

Data import via `import-v2` command supports new ingestion pipeline for bulk loading. Partition range cache reduces scan latency for time-series...
Mito2 Code Cleanup & Repartition Rollback Fix | Greptime Biweekly Report - No. 81
On this page

Summary

Development period: 2026-04-06 - 2026-04-19

Here are the highlights from recent commits:

  • Data import via import-v2 command supports new ingestion pipeline for bulk loading
  • Partition range cache reduces scan latency for time-series queries
  • Repartition operations handle rollback failures without corrupting table state
  • New Go / .NET / Rust / Erlang Ingester SDK releases

We encourage users on older versions to upgrade for these fixes and improvements.

Contributors

Over the past two weeks, 16 contributors merged a total of 49 PRs. Among them, 3 community contributors contributed 3 PRs. Welcome to our new contributor: @yxrxy!

Thanks to our community contributors:

Highlights of Recent PRs

db#7925 refactor(mito2): remove dead scan code

The mito2 storage engine removes unused scan code for primary key format operations. This cleanup eliminates dead code paths without affecting query functionality.

db#7918 fix(repartition): harden repartition rollback paths

Region repartition procedures now properly restore metadata and deallocate regions when rollback occurs due to failures. Previously, failed repartitions could leave the system in an inconsistent state with orphaned resources.

db#7967 refactor: move group rollback ownership to parent repartition

Repartition procedures now handle rollback recovery at the parent level instead of within subprocedures, which provides more reliable recovery after metasrv restarts. Failed repartition operations can restore group metadata and clean up allocated regions even when subprocedures don't complete normally.

db#7898 feat(cli): implement import-v2 data import pipeline

The CLI includes a new import-v2 command that replaces the original data import pipeline with a redesigned architecture. This version provides a more robust foundation for importing large datasets into GreptimeDB tables.

db#7873 feat: use partition range cache in scan

Partition range caches are now used in SeqScan and SeriesScan operations to buffer query results more effectively. Time-series queries that repeatedly scan the same partitions will see reduced I/O overhead.

Other Updates

Four gRPC ingester SDK releases landed this cycle:

Go Ingester v0.7.2

  • Fixed a timezone-related timestamp type incompatibility that broke bulk insert against GreptimeDB v1.0
  • Added multi-endpoint support

.NET Ingester v0.2.0

  • Multi-endpoint support catching up with the Go SDK; pick Random (default) or RoundRobin load balancing
  • Deprecated the datetime type

Rust Ingester v0.17.0

  • Now published on crates.io; available via cargo add greptimedb-ingester

Erlang Ingester v0.2.5

  • Added encoding support for f32 values
  • Added decimal128 type support

Good First Issue

Issue#7951 Allow detailed index configuration in pipeline config

Expand the Pipeline configuration syntax to support detailed index configuration options beyond the current basic index types like fulltext and skipping.

Keywords: Pipeline, Configuration, Indexing

Difficulty: Medium

Issue#7987 feat: add flow_statistics system table and SHOW FLOW STATUS for flow runtime observability

Create a system table called flow_statistics and add a SHOW FLOW STATUS SQL command to display Flow runtime information like start time, uptime, processed data volume, and recent errors.

Keywords: SQL, Observability

Difficulty: Medium

Stay in the loop

Join our community