v0.9.3
 · 6 min read
Release date: September 06, 2024
Highlights
- fixes the following issues
last_valuefunction may return empty results due to cache #4652- query timestamp column in append mode misses some data #4669
 - crash while query tables with 
last_non_nullmerge mode #4687 
 
Breaking changes
- feat!: impl admin command by @killme2008 in #4600
 
🚀 Features
- feat: Implement the Buf to avoid extra memory allocation by @ozewr in #4585
 - feat: remove sql in error desc by @waynexia in #4589
 - feat: collect filters metrics for scanners by @evenyag in #4591
 - feat: refactoring LruCacheLayer with list_with_metakey and concurrent_stat_in_list by @ozewr in #4596
 - feat: add postgres response for transaction related statements by @sunng87 in #4562
 - feat: allow skipping topic creation by @WenyXu in #4616
 - feat: remove some redundant clone/conversion on constructing MergeScan stream by @waynexia in #4632
 - feat: replay WAL entries respect index by @WenyXu in #4565
 - feat(flow): use DataFusion's optimizer by @discord9 in #4489
 - feat: copy database ignores view and temporary tables by @fengjiachun in #4640
 - feat: pre-download the ingested sst by @MichaelScofield in #4636
 - feat: import cli tool by @fengjiachun in #4639
 - feat: show create database by @fengjiachun in #4642
 - feat: initialize partition range from ScanInput by @waynexia in #4635
 - feat: remove the requirement that partition column must be PK by @waynexia in #4647
 - feat: remove files from the write cache in purger by @evenyag in #4655
 - feat: grpc writing supports TTL hint by @killme2008 in #4651
 - feat: export import database by @fengjiachun in #4654
 - feat: supports name in object storage config by @killme2008 in #4630
 - feat: change log level dynamically by @discord9 in #4653
 - feat: schedule compaction when adding sst files by editing region by @MichaelScofield in #4648
 - feat: add geohash and h3 as built-in functions by @sunng87 in #4656
 - feat: add more spans to mito engine by @lyang24 in #4643
 - feat: invalidate cache via invalidator on region migration by @fengjiachun in #4682
 
🐛 Bug Fixes
- fix: pipeline prepare loop break detects a conditional error by @paomian in #4593
 - fix: incremental compilation always compile the common-version crate by @fengys1996 in #4605
 - fix: failed to get github sha by @daviderli614 in #4620
 - fix: change toolchain file name by @daviderli614 in #4621
 - fix: failed to get version by @daviderli614 in #4622
 - fix: fallback to window size in manifest by @evenyag in #4629
 - fix: update properties on updating partitions by @waynexia in #4627
 - fix: set 
selector_result_cache_sizein unit test by @WenyXu in #4631 - fix: config api and export metrics default database by @killme2008 in #4633
 - fix: set 
selector_result_cache_sizein unit test again by @WenyXu in #4641 - fix(mito): avoid caching empty batches in row group by @v0y4g3r in #4652
 - fix: correct otlp endpoint formatting by @WenyXu in #4646
 - fix: expose missing options for initializing regions by @WenyXu in #4660
 - fix: use 'target' for 'actions-rust-lang/setup-rust-toolchain' to fix cross build failed by @zyy17 in #4661
 - fix: use number of partitions as parallelism in region scanner by @waynexia in #4669
 - fix: ref to auth err by @shuiyisong in #4681
 - fix: last non null iter not init by @evenyag in #4687
 
🚜 Refactor
- refactor(mito2): reduce duplicate IndexOutput struct by @leaf-potato in #4592
 - refactor: skip checking the existence of the SST files by @MichaelScofield in #4602
 - refactor: add 
fallback_to_localregion option by @zyy17 in #4578 - refactor: add 
appingreptime_app_versionmetric by @zyy17 in #4626 - refactor: reduce a object store "stat" call by @MichaelScofield in #4645
 - refactor: remove unused error variants by @waynexia in #4666
 - refactor: make 
init_global_logging()clean and addlog_formatby @zyy17 in #4657 
📚 Documentation
- docs: log benchmark by @shuiyisong in #4597
 - docs: move v0.9.1 benchmark report to tsbs dir by @evenyag in #4598
 - docs: add example configs introduced by pg_kvbackend by @lyang24 in #4573
 
⚡ Performance
- perf: set simple filter on primary key columns to exact filter by @waynexia in #4564
 - perf: optimize series divide algo by @waynexia in #4603
 - perf: accelerate scatter query by @waynexia in #4607
 - perf(flow): Map&Reduce Operator use batch to reduce alloc by @discord9 in #4567
 
⚙️ Miscellaneous Tasks
- chore: keep symbol table in nightly profile by @fengys1996 in #4588
 - chore: bump tikv-jemalloc* to "0.6" by @fengys1996 in #4590
 - chore: disable ttl for write cache by default by @evenyag in #4595
 - chore: bump opendal version to 0.49 by @WenyXu in #4587
 - chore: upgrade toolchain to nightly-2024-08-07 by @WenyXu in #4549
 - chore: add commerial support section by @sunng87 in #4601
 - chore: bump rust toolchain to 2024-06-06 by @waynexia in #4606
 - chore: bump rskafka to 
75535bby @WenyXu in #4608 - chore: add 
statsfeature for jemalloc-ctl by @discord9 in #4610 - chore: optimize common_version build by @fengys1996 in #4611
 - ci: add push dev-build images to aws ecr by @daviderli614 in #4618
 - chore: setting docker authentication in dev-build image by @daviderli614 in #4623
 - ci: improve toolchain resolution in ci by @sunng87 in #4614
 - ci: add check-builder-rust-version job in release and change release-dev-builder-images trigger condition by @zyy17 in #4615
 - chore: modify grafana config to accord with version 9 by @shuiyisong in #4634
 - chore: adding heartbeat sent/recv counts in greptimedb nodes by @lyang24 in #4624
 - ci: disable macos integration test and some minor refactoring by @zyy17 in #4658
 - chore: refactor metadata key value trait by @fengjiachun in #4664
 - chore(ci): set etcd resources limits by @WenyXu in #4665
 - chore(dockerfile): remove mysql and postgresql clients in greptimedb image by @daviderli614 in #4685
 - chore: bump version v0.9.3 by @v0y4g3r in #4684
 
Build
- build(deps): bump backon to 1.0 by @waynexia in #4625
 - build: add mysql and postgresql clients to greptimedb image by @MichaelScofield in #4677
 
New Contributors
All Contributors
We would like to thank the following contributors from the GreptimeDB community:
@MichaelScofield, @WenyXu, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @killme2008, @leaf-potato, @lyang24, @ozewr, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @zyy17