Releases: GreptimeTeam/greptimedb
Release v0.9.0-b2c5f8eef-20240716-1721102282
What's Changed
- feat: add
TimeSeriesRowSelector
hint by @evenyag in #4327 - feat: show create view and creating view with columns by @killme2008 in #4086
- revert: lz4 compression by @WenyXu in #4329
- fix(sqlness): relax start time regex to match various precisions by @waynexia in #4326
- ci: add flownode in docker compose by @zyy17 in #4306
- docs: remove cargo test workspace command by @waynexia in #4325
- feat: customize copy to parquet parameter by @v0y4g3r in #4328
- perf(puffin): not to stage uncompressed blob by @zhongzc in #4333
- fix: permission denied is 403 by @sunng87 in #4350
- fix(config): enable file engine by default by @WenyXu in #4345
- feat: impl drop view by @killme2008 in #4231
- fix: build info should use build time env var by @tisonkun in #4343
- perf: fine–tuned plan steps by @waynexia in #4258
- docs(config): add enable_region_failover option to configuration by @WenyXu in #4355
- refactor: Remove the StandaloneKafkaConfig struct by @irenjj in #4253
- feat: support
text/plain
format for log ingestion by @shuiyisong in #4300 - feat: impl optimizer rule to handle last_value case by @waynexia in #4357
- feat: Implement reader that returns the last row of each series by @evenyag in #4354
- feat(index): distinguish different types of index metrics by @zhongzc in #4337
- feat: adding information_schema.views table by @lyang24 in #4342
- chore: update project slogan by @tisonkun in #4361
- fix: remove path label for cache store by @sunng87 in #4336
- feat: support show views statement by @lyang24 in #4360
- fix: scan hint checks order asc by @evenyag in #4365
- feat: tweak error and status codes by @killme2008 in #4359
- feat(fulltext_index): integrate full-text indexer with parquet reader by @zhongzc in #4348
- feat: flow perf&fix df func call by @discord9 in #4347
- feat: add a cache for last value result in row group by @evenyag in #4369
- feat: add PruneReader for optimized row filtering by @v0y4g3r in #4370
- test: replace unstable output of last value test by @evenyag in #4371
- feat: introduce 'pg_catalog.pg_type' by @J0HN50N133 in #4332
- test: more sleep when flow insert makes it serial by @discord9 in #4373
- refactor: LastRowReader to use LastRowSelector by @v0y4g3r in #4374
Full Changelog: v0.9.0-nightly-20240709...v0.9.0-b2c5f8eef-20240716-1721102282
Release v0.9.0-nightly-20240709
What's Changed
- feat: add build info for flow heartbeat task by @fengjiachun in #4228
- feat: register & deregister region failure detectors actively by @WenyXu in #4223
- refactor: expose
DatanodeBuilder::build_object_store_manager()
andMitoConfig::sanitize()
by @zyy17 in #4212 - feat: forgot collect flownode clusterinfo handler by @fengjiachun in #4236
- feat: basic implement of
matches
fn by @waynexia in #4222 - feat: flow cli for distributed by @discord9 in #4226
- feat(puffin): implement MokaCacheManager by @zhongzc in #4211
- refactor: use ObjectStoreManagerRef type in open_compaction_region() and add related unit test by @zyy17 in #4238
- build(deps): Upgrade OpenDAL to 0.47 by @tisonkun in #4224
- refactor: add interceptor after Influxdb lines are converted to grpc row insert by @MichaelScofield in #4225
- chore: add AUTHOR.md file by @tisonkun in #4241
- feat(puffin): complete dir support by @zhongzc in #4240
- feat: introduce the interface of
RemoteJobScheduler
by @zyy17 in #4181 - feat(fulltext_index): introduce creator by @zhongzc in #4249
- ci: update centos yum source and specify cargo-binstall version by @zyy17 in #4248
- refactor: add
RemoteCompaction
error by @zyy17 in #4251 - refactor: change InvertedIndexWriter method signature to offsets to f… by @v0y4g3r in #4250
- chore: reduce insertion size of fuzz test by @WenyXu in #4243
- feat: dbeaver mysql compatibility, use statement and information_schema.tables by @sunng87 in #4218
- fix!: forbid to change information_schema by @CookiePieWw in #4233
- chore(ci): add timeout (60min) for fuzz tests by @WenyXu in #4255
- feat!: remove alias
metasrv-addr
by @discord9 in #4239 - feat: provide a simple way to create metaclient by @fengjiachun in #4257
- ci: push latest greptimedb nigthly build image by @zyy17 in #4260
- fix(puffin): fix dependency by @v0y4g3r in #4267
- feat: implement naive fuzz test for region migration by @WenyXu in #4252
- feat: update dashboard to v0.5.3 by @ZonaHex in #4262
- feat: introduce
FlowRouteValue
by @WenyXu in #4263 - feat(fulltext_index): integrate puffin manager with inverted index applier by @zhongzc in #4266
- feat: handle AND/OR and priority in matches fn by @waynexia in #4270
- chore: add missing s for
--metasrv-addr
by @discord9 in #4278 - fix(fuzz): generate valid string by @WenyXu in #4281
- feat: store peer info in
TableFlowValue
by @WenyXu in #4280 - feat(fuzz): enhance condition check of region migration finish by @WenyXu in #4283
- refactor(puffin): adjust generic parameters by @zhongzc in #4279
- refactor: use rwlock for modifiable session data by @sunng87 in #4232
- fix: enhance ColumnOption::DefaultValue formatting for string values by @WenyXu in #4287
- fix: enable space string in yaml value by @shuiyisong in #4286
- fix: align pre-commit config with make file by @shuiyisong in #4292
- fix: call df_func with literal by @discord9 in #4265
- feat: delete pipeline by @shuiyisong in #4156
- feat: add path prefix label to obejct storage metrics by @sunng87 in #4277
- fix: prepare inserting with column defaults not work, #4244 by @killme2008 in #4272
- feat: add naive region failover test for metric table by @WenyXu in #4269
- refactor(inverted_index): integrate puffin manager with sst indexer by @zhongzc in #4285
- feat: expose merge_mode option by @evenyag in #4289
- ci: retry on error during installing operator by @WenyXu in #4295
- chore: remove original region failover implementation by @WenyXu in #4237
- feat: refine scan metrics logging by @evenyag in #4296
- chore: bump OpenDAL to 0.47.2 by @WenyXu in #4297
- feat: make flow distributed work&tests by @discord9 in #4256
- feat(remote wal): set default compresion to LZ4 by @WenyXu in #4294
- feat(sql): add iso-8601 format support for intervals by @etolbakov in #4291
- feat(fulltext_index): integrate full-text indexer with sst writer by @zhongzc in #4302
- fix: deregister failure detector in region migration by @WenyXu in #4293
- ci: retry on error or timeout during installing operator by @WenyXu in #4308
- build(deps): upgrade opendal to 0.47.3 by @tisonkun in #4307
- feat: impl show table status by @killme2008 in #4303
- feat!: Set merge mode while creating table in influx handler by @evenyag in #4299
- chore: disable TraceLayer on_failure log by @paomian in #4315
- refactor: split match arms in prom_expr_to_plan into smaller methods by @waynexia in #4317
- feat: support inserting into binary value through string by @CookiePieWw in #4197
- fix(ci): remove sqlness state in success by @waynexia in #4313
- fix: test_fulltext_intm_path by @zhongzc in #4314
- feat(inverted_index): inverted index cache by @v0y4g3r in #4309
- fix: error on show databases in non-default catalog by @sunng87 in #4316
- feat(fulltext_index): allow enable full-text index in SQL and gRPC way by @zhongzc in #4310
- build(deps): switch to upstream by @tisonkun in #4319
- fix: panic while reading information_schema. KEY_COLUMN_USAGE by @killme2008 in #4318
- feat: handle parentheses with unary ops by @waynexia in #4290
- feat: enhanced the retry logic by adding a random noise by @WenyXu in #4320
- refactor: do not print error log on PlanQuery error by @sunng87 in #4322
- fix: support unary operator in default value, partition rule and prepare statement by @waynexia in #4301
- feat: flownode use
Inserter
to write to database by @discord9 in #4323
Full Changelog: v0.9.0-nightly-20240701...v0.9.0-nightly-20240709
Release v0.9.0-nightly-20240701
What's Changed
- refactor: add
Compactor
trait to abstract the compaction by @zyy17 in #4097 - refactor: make region manifest checkpoint ran in background by @MichaelScofield in #4133
- refactor: Decouple dedup and merge by @evenyag in #4139
- feat(pipeline): transform support on_failure by @yuanbohan in #4123
- feat(pipeline): gsub prosessor by @yuanbohan in #4121
- feat: enable metasrv to accept flownode's heartbeats by @fengjiachun in #4160
- feat(pipeline): join processor by @shuiyisong in #4158
- feat: update default size of bgworkers, add hbworkers by @sunng87 in #4129
- feat: implement the
OrderedBatchProducer
by @WenyXu in #4134 - feat(flow): support datafusion scalar function by @discord9 in #4142
- feat: Implement memtable range by @evenyag in #4162
- refactor!: unify
FrontendOptions
andDatanodeOptions
by usingGrpcOptions
by @realtaobo in #4088 - chore: bump datafusion version to fix
last_value
regression by @MichaelScofield in #4169 - feat: update dashboard to v0.5.1 by @ZonaHex in #4171
- chore: enhance add pipeline http api return data by @paomian in #4167
- feat: register flow node by @fengjiachun in #4166
- feat: show database options by @killme2008 in #4174
- feat: use the write runtime to handle the heartbeats by @fengjiachun in #4177
- perf: optimize RecordBatch to HttpOutput conversion by @waynexia in #4178
- feat: PREPARE and EXECUTE statement from mysql client by @CookiePieWw in #4125
- feat: introduce chaos crds by @WenyXu in #4173
- feat: add num_rows and num_row_groups to manifest by @waynexia in #4183
- feat: make RegionScanner aware of PartitionRange by @waynexia in #4170
- fix: region logical regions after catching up by @WenyXu in #4176
- feat: update dashboard to v0.5.2 by @ZonaHex in #4185
- chore: highlight our committers in CONTRIBUTING.md by @tisonkun in #4189
- refactor: make
RegionOptions
andMergeOutput
serializable by @zyy17 in #4180 - fix(flow): fix call df func bug&sqlness test by @discord9 in #4165
- refactor: add
region_dir
in CompactionRegion by @zyy17 in #4187 - feat(puffin): support lz4 compression for footer by @zhongzc in #4194
- fix:
region_peers
returns same region_id for multi logical tables by @realtaobo in #4190 - feat: heartbeat task&peer lookup in proc by @discord9 in #4179
- feat(puffin): introduce puffin manager trait by @zhongzc in #4195
- feat(sql): improve interval expression, support shortened version by @etolbakov in #4182
- fix(sql): improve compound signed number processing by @etolbakov in #4200
- test: wait until checkpoint finish by @evenyag in #4202
- feat: Dedup strategy that keeps the last not null field by @evenyag in #4184
- fix: align workflows again for the troublesome GHA by @waynexia in #4196
- fix: format error correctly by @WenyXu in #4204
- feat(puffin): implement CachedPuffinWriter by @zhongzc in #4203
- feat: FlownodeClient by @discord9 in #4206
- feat: bulk memtable codec by @v0y4g3r in #4163
- docs: remove outdated docs by @evenyag in #4205
- refactor: migrate region failover implementation to region migration by @WenyXu in #4172
- feat(puffin): implement CachedPuffinReader by @zhongzc in #4209
- feat: validate partition rule on create table by @waynexia in #4213
- refactor: add
SerializedPickerOutput
and field modification ofCompactorRequest
by @zyy17 in #4198 - fix: wrong frontend registration address by @killme2008 in #4199
- feat(servers): make http timeout and body limit optional by @fengjiachun in #4217
- feat(sql): add casting support for shortened intervals by @etolbakov in #4220
- feat: Implements
merge_mode
region options by @evenyag in #4208 - refactor(flow): make
from_substrait_*
async& worker handle refactor by @discord9 in #4210 - test: add e2e test for region failover by @WenyXu in #4188
- feat!: reduce sorted runs during compaction by @v0y4g3r in #3702
- feat: output multiple partition in MergeScanExec by @waynexia in #4227
- fix: add
serialize_ignore_column_ids()
to fix deserialize region options failed from json string by @zyy17 in #4229
Full Changelog: v0.9.0-nightly-20240617...v0.9.0-nightly-20240701
Release v0.9.0-nightly-20240617
Release v0.8.2
What's Changed
🚀 Features
- feat(flow): make write path faster with shared lock by @discord9 in #4073
- feat: implement
Display
forPartitionExpr
by @Kelvinyu1117 in #4087 - feat: implement drop multiple tables by @sarailQAQ in #4085
- feat: Implement RegionScanner for SeqScan by @evenyag in #4060
- feat: Implement SHOW CREATE FLOW by @irenjj in #4040
- feat: implement the
handle_batch_open_requests
by @WenyXu in #4075 - feat: implement
WalEntryDistributor
,WalEntryReceiver
by @WenyXu in #4031 - feat: introduce
pipeline
crate by @shuiyisong in #4109 - feat: invoke
handle_batch_open_requests
by @WenyXu in #4107 - feat: querying from view works by @killme2008 in #3952
- feat: set global runtime size by config file by @MichaelScofield in #4063
- feat: show create table only for base table by @tisonkun in #4099
- feat: support gRPC cancellation by @fengjiachun in #4092
🐛 Bug Fixes
- fix: add tailing separator to prefix by @waynexia in #4078
- fix(ci): use
ld_classic
on macOS by @WenyXu in #4143 - fix: display error in correct format by @waynexia in #4082
- fix: display the PartitionBound and PartitionDef correctly by @Kelvinyu1117 in #4101
- fix: executes pending ddls if region memtable is empty while scheduling next flush by @evenyag in #4119
- fix: explicitly set config instead of using changable default in tests by @MichaelScofield in #4132
- fix: fix EntityTooSmall issue by @WenyXu in #4100
- fix: fix release CI typo by @WenyXu in #4147
- fix(flow): infer table schema correctly by @discord9 in #4113
- fix(flow): mfp operator missing rows by @discord9 in #4084
- fix: macro crate cannot be compiled alone by @sunng87 in #4130
- fix: recover memtable options when opening physical regions by @v0y4g3r in #4102
- fix: retry on unknown error by @WenyXu in #4138
- fix: Update region
Version
in the worker loop by @evenyag in #4114
🚜 Refactor
- refactor: move
define_into_tonic_status
tocommon-error
by @shuiyisong in #4095 - refactor: remove double checks of memtable size by @cjwcommuny in #4117
- refactor: remove substrait ser/de for region query in standalone by @MichaelScofield in #3812
- refactor!: remove the tableid in ddl response since tableids is enough by @fengjiachun in #4080
- refactor: remove upgrade cli tool by @fengjiachun in #4077
- refactor: simplify parquet writer by @v0y4g3r in #4112
⚙️ Miscellaneous Tasks
- chore: bump version to v0.8.2 by @WenyXu in #4141
- chore(ci): remove redundant sqlness test config by @WenyXu in #4106
- chore(ci): switch to aws registry by @WenyXu in #4145
- chore(common-macro): remove features covered by full by @evenyag in #4131
- chore: enable
strip
for tests-fuzz crate by @WenyXu in #4093 - chore: reduce some burden on the write path by @fengjiachun in #4110
- chore: remove gc before running fuzz tests by @WenyXu in #4108
- chore: remove unused code by @WenyXu in #4135
- chore: run fuzz tests with disk cache by @WenyXu in #4118
- chore: run fuzz tests with kafka remote wal by @WenyXu in #4105
- ci: add 'make run-cluster-with-etcd' to run greptimedb cluster by using docker-compose by @zyy17 in #4103
- ci: cargo gc all fuzz test runner by @waynexia in #4081
- ci: cargo gc fuzz test runner by @waynexia in #4074
- ci: try to free space after fuzz tests by @WenyXu in #4089
- test: add fuzz tests for column data type alteration by @realtaobo in #4076
- test: run
test_flush_reopen_region
andtest_region_replay
withKafkaLogStore
by @WenyXu in #4083
Build
New Contributors
- @sarailQAQ made their first contribution in #4085
- @cjwcommuny made their first contribution in #4117
Full Changelog: v0.8.1...v0.8.2
Release v0.9.0-b03cb3860-20240606-1717661661
What's Changed
- ci: cargo gc fuzz test runner by @waynexia in #4074
- fix: add tailing separator to prefix by @waynexia in #4078
- feat: querying from view works by @killme2008 in #3952
- refactor: remove upgrade cli tool by @fengjiachun in #4077
- feat: implement
WalEntryDistributor
,WalEntryReciver
by @WenyXu in #4031 - refactor!: remove the tableid in ddl response since tableids is enough by @fengjiachun in #4080
- feat(flow): make write path faster with shared lock by @discord9 in #4073
- fix: display error in correct format by @waynexia in #4082
- build(deps): bump datafusion 20240528 by @waynexia in #4061
- feat: implement
Display
forPartitionExpr
by @Kelvinyu1117 in #4087 - ci: try to free space after fuzz tests by @WenyXu in #4089
- chore: enable
strip
for tests-fuzz crate by @WenyXu in #4093 - refactor: move
define_into_tonic_status
tocommon-error
by @shuiyisong in #4095 - fix: display the PartitionBound and PartitionDef correctly by @Kelvinyu1117 in #4101
- test: run
test_flush_reopen_region
andtest_region_replay
withKafkaLogStore
by @WenyXu in #4083 - fix: recover memtable options when opening physical regions by @v0y4g3r in #4102
- fix: fix EntityTooSmall issue by @WenyXu in #4100
- fix(flow): mfp operator missing rows by @discord9 in #4084
- feat: set global runtime size by config file by @MichaelScofield in #4063
- feat: implement drop multiple tables by @sarailQAQ in #4085
- test: add fuzz tests for column data type alteration by @realtaobo in #4076
- feat: show create table only for base table by @tisonkun in #4099
- ci: add 'make run-cluster-with-etcd' to run greptimedb cluster by using docker-compose by @zyy17 in #4103
- chore(ci): remove redundant sqlness test config by @WenyXu in #4106
- feat: implement the
handle_batch_open_requests
by @WenyXu in #4075 - ci: cargo gc all fuzz test runner by @waynexia in #4081
- chore: remove gc before running fuzz tests by @WenyXu in #4108
- feat: introduce
pipeline
crate by @shuiyisong in #4109 - chore: reduce some burden on the write path by @fengjiachun in #4110
- feat: support gRPC cancellation by @fengjiachun in #4092
New Contributors
- @sarailQAQ made their first contribution in #4085
Full Changelog: v0.8.1...v0.9.0-b03cb3860-20240606-1717661661
Release v0.8.1
v0.8.1
Release date: May 30, 2024
This is a patch release, containing some important bug fix for flow's continuous aggregating in #4018
It's highly recommended to upgrade to this version if you're using v0.8.0.
🚀 Features
- feat: avoid some cloning when mirror requests to flownode by @fengjiachun in #4068
- feat: use cache in compaction by @evenyag in #3982
- feat: support compression on gRPC server by @shuiyisong in #3961
- feat: Adds
RegionScanner
trait by @evenyag in #3948 - feat: make create view procedure simple as others by @fengjiachun in #4001
- feat: respect time range when building parquet reader by @v0y4g3r in #3947
- feat: manual compaction by @v0y4g3r in #3988
- feat: add fallback logic for vmagent sending wrong content type by @sunng87 in #4009
- feat: Add TLS support for gRPC service by @realtaobo in #3957
- feat: remove one clone on constructing partition by @waynexia in #4028
- feat: add
RawEntryReader
andOneshotWalEntryReader
trait by @WenyXu in #4027 - feat: round-robin selector by @waynexia in #4024
- feat: implement the
LogStoreRawEntryReader
andRawEntryReaderFilter
by @WenyXu in #4030 - feat: support table level comment by @irenjj in #4042
- feat(opertor): check if a database is in use before dropping it by @etolbakov in #4035
- feat: change EXPIRE WHEN to EXPIRE AFTER by @waynexia in #4002
- feat: enable tcp keepalive for http server by @MichaelScofield in #4019
- feat: invoke
flush_table
andcompact_table
in fuzz tests by @WenyXu in #4045 - feat: open region in background by @WenyXu in #4052
- feat: Implement SHOW STATUS by @LYZJU2019 in #4050
- feat: Implements row group level parallel unordered scanner by @evenyag in #3992
🐛 Bug Fixes
-
fix: move log_version() into build() of App to fix no log version on bootstrap by @zyy17 in #4004
-
fix: can't print log because the tracing guard is dropped by @zyy17 in #4005
-
fix(fuzz): sort inserted rows with primary keys and time index by @CookiePieWw in #4008
-
fix: notifies all workers once a region is flushed by @evenyag in #4016
-
fix(fuzz-tests): avoid to drop in-use database by @WenyXu in #4049
-
fix(metric-engine): missing catchup implementation by @WenyXu in #4048
-
fix: set local or session time_zone not work by @killme2008 in #4064
-
fix: avoid acquiring lock during reading stats by @WenyXu in #4070
🚜 Refactor
- refactor: make the command entry cleaner by @zyy17 in #3981
- refactor: replace Expr with datafusion::Expr by @realtaobo in #3995
- refactor: remove unused log config by @v0y4g3r in #4021
- refactor(fuzz-tests): generate ts value separately by @WenyXu in #4056
- refactor: move Database to client crate behind testing feature by @tisonkun in #4059
- refactor(log_store): remove associated type
Namespace
andEntry
inLogStore
by @WenyXu in #4038
📚 Documentation
⚙️ Miscellaneous Tasks
- ci: report CI failures with creating issues by @tisonkun in #3976
- chore: change binary array type from LargeBinaryArray to BinaryArray by @etolbakov in #3924
- chore: pin cargo-ndk to 3.5.4 by @WenyXu in #3979
- ci: check-status for nightly-ci by @tisonkun in #3984
- ci: fixup strings in check ci status by @tisonkun in #3987
- ci: add 'contents: write' permission by @zyy17 in #3989
- chore: remove a dbg! forget to remove by @discord9 in #3990
- chore(ci): add fuzz tests for distributed mode by @WenyXu in #3967
- ci: change the image name of nightly build by @zyy17 in #3994
- chore(ci): export kind logs by @WenyXu in #3996
- chore: add ttl to write_cache by @shuiyisong in #4010
- chore: log error for detail by @fengjiachun in #4011
- chore(ci): add more replicas by @WenyXu in #4015
- ci: skip notification for manual releases by @tisonkun in #4033
- chore: add logs for setting the region to writable by @WenyXu in #4044
- chore: add
LAST_SENT_HEARTBEAT_ELAPSED
metric by @WenyXu in #4062 - chore: bump to v0.8.1 by @discord9 in #4055
Build
- build(deps): upgrade promql-parser to 0.4 by @tisonkun in #4047
- build(deps): merge tower deps to workspace by @tisonkun in #4036
- build(deps): upgrade opendal to 0.46 by @tisonkun in #4037
New Contributors
- @LYZJU2019 made their first contribution in #4050
All Contributors
We would like to thank the following contributors from the GreptimeDB commun...
Release v0.9.0-nightly-20240527
What's Changed
- docs: add toc for config docs by @zyy17 in #3974
- ci: report CI failures with creating issues by @tisonkun in #3976
- chore: change binary array type from LargeBinaryArray to BinaryArray by @etolbakov in #3924
- docs: add v0.8.0 TSBS report by @evenyag in #3983
- chore: pin cargo-ndk to 3.5.4 by @WenyXu in #3979
- ci: check-status for nightly-ci by @tisonkun in #3984
- feat: use cache in compaction by @evenyag in #3982
- refactor: make the command entry cleaner by @zyy17 in #3981
- ci: fixup strings in check ci status by @tisonkun in #3987
- ci: add 'contents: write' permission by @zyy17 in #3989
- chore: remove a dbg! forget to remove by @discord9 in #3990
- feat: support compression on gRPC server by @shuiyisong in #3961
- feat: Adds
RegionScanner
trait by @evenyag in #3948 - chore(ci): add fuzz tests for distributed mode by @WenyXu in #3967
- ci: change the image name of nightly build by @zyy17 in #3994
- refactor: replace Expr with datafusion::Expr by @realtaobo in #3995
- fix: try to fix broken CI by @WenyXu in #3998
- feat: make create view procedure simple as others by @fengjiachun in #4001
- fix: move log_version() into build() of App to fix no log version on bootstrap by @zyy17 in #4004
- chore(ci): export kind logs by @WenyXu in #3996
- fix: try to fix unstable fuzz test by @WenyXu in #4003
- feat: respect time range when building parquet reader by @v0y4g3r in #3947
- fix: can't print log because the tracing guard is dropped by @zyy17 in #4005
- fix(fuzz): sort inserted rows with primary keys and time index by @CookiePieWw in #4008
- chore: add ttl to write_cache by @shuiyisong in #4010
- feat: manual compaction by @v0y4g3r in #3988
- chore: log error for detail by @fengjiachun in #4011
- feat: add fallback logic for vmagent sending wrong content type by @sunng87 in #4009
- chore(ci): add more replicas by @WenyXu in #4015
- refactor: remove unused log config by @v0y4g3r in #4021
- fix: notifies all workers once a region is flushed by @evenyag in #4016
- feat: Add TLS support for gRPC service by @realtaobo in #3957
- feat: remove one clone on constructing partition by @waynexia in #4028
- feat: add
RawEntryReader
andOneshotWalEntryReader
trait by @WenyXu in #4027 - feat: round-robin selector by @waynexia in #4024
- ci: skip notification for manual releases by @tisonkun in #4033
- feat: implement the
LogStoreRawEntryReader
andRawEntryReaderFilter
by @WenyXu in #4030
Full Changelog: v0.8.0...v0.9.0-nightly-20240527
Release v0.8.0
v0.8.0
Release date: May 18, 2024
👍 Highlights
- Flow Engine: which brings continuous aggregation capabilities.
- Column Type Modification: allows users to effortlessly alter the data type of columns within a table without the hassle of rebuilding the table or manually migrating data.
- Cluster Management Information Table: allows querying for information about the cluster. This functionality aids administrators in monitoring and managing the health status of the database cluster, facilitating prompt issue detection and resolution.
- Append-only Tables: Users can now create tables in Append-only mode by setting the append mode during table creation.
- DROP DATABASE: enables swift deletion of all tables and resources under a database instance.
- New Table Partitioning Methods and Syntax: considering the future need for frequent partition changes such as automatic partitioning or repartitioning, we're developing a new partitioning syntax.
EXPLAIN ANALYZE <QUERY>
: analyze and optimize query statements swiftly in distributed mode.
🚀 Features
- feat(cli): export metric physical tables first by @WenyXu in #3949
- feat(cli): prevent exporting physical table data by @WenyXu in #3978
- feat(drop_table): support to rollback table metadata by @WenyXu in #3692
- feat(flow): add types for every plan enum variant by @discord9 in #3938
- feat(flow): avg func rewrite to sum/count by @discord9 in #3955
- feat(flow): expire arrange according to time_index type by @discord9 in #3956
- feat(flow): flow node manager by @discord9 in #3954
- feat(flow): flow worker by @discord9 in #3934
- feat(flow): mirror insert req to flow node by @discord9 in #3858
- feat(flow): query table schema&refactor by @discord9 in #3943
- feat(flow): render map&related tests by @discord9 in #3581
- feat(flow): render reduce by @discord9 in #3769
- feat(flow): render source/sink by @discord9 in #3903
- feat(flow): transform substrait SELECT&WHERE&GROUP BY to Flow Plan by @discord9 in #3690
- feat(flow): tumble window func by @discord9 in #3968
- feat(fuzz): add alter logical table target by @CookiePieWw in #3818
- feat(fuzz): add create database target by @CookiePieWw in #3675
- feat(fuzz): add create logical table target by @CookiePieWw in #3756
- feat(fuzz): add insert logical table target by @CookiePieWw in #3842
- feat(fuzz): add validator for inserted rows by @CookiePieWw in #3932
- feat(fuzz): enable create-if-not-exists option by @CookiePieWw in #3732
- feat(fuzz): support to create metric table by @WenyXu in #3617
- feat(procedure): support to rollback by @WenyXu in #3625
- feat(promql): parameterize lookback by @etolbakov in #3630
- feat: Parquet reader builder supports building multiple ranges to read by @evenyag in #3841
- feat: add
ChangeColumnType
forAlterKind
by @KKould in #3757 - feat: add
filter_deleted
option to avoid removing deletion markers by @v0y4g3r in #3707 - feat: add append mode to table options by @evenyag in #3624
- feat: add checksum for checkpoint data by @tisonkun in #3651
- feat: add metasrv start time to node info by @fengjiachun in #3883
- feat: add preserve arg to sqlness runner by @waynexia in #3724
- feat: add strict mode to validate protocol strings by @irenjj in #3638
- feat: add tinytext, mediumtext and longtext data types by @CookiePieWw in #3731
- feat: add validate method to CreateExpr by @waynexia in #3772
- feat: adds information_schema cluster_info table by @killme2008 in #3832
- feat: check partition rule by @waynexia in #3711
- feat: create database with options by @tizee in #3751
- feat: create view by @killme2008 in #3807
- feat: define
CreateFlowTask
andDropFlowTask
by @WenyXu in #3801 - feat: get metasrv clusterinfo by @fengjiachun in #3696
- feat: ignore internal columns in
SHOW CREATE TABLE
by @WenyXu in #3950 - feat: impl Display for Statement by @irenjj in #3744
- feat: impl parser and operator for CREATE FLOW by @waynexia in #3806
- feat: impl show collation and show charset statements by @killme2008 in #3753
- feat: impl table_constraints table for information_schema by @killme2008 in #3698
- feat: implement FlowTaskMetadataManager by @WenyXu in #3766
- feat: implement
CacheContainer
&TableFlownodeSetCache
by @WenyXu in #3885 - feat: implement drop flow parser by @WenyXu in #3888
- feat: implement drop flow procedure by @WenyXu in #3877
- feat: implement the
CompositeTableRoute
by @WenyXu in #3918 - feat: implement the
CreateFlowProcedure
by @WenyXu in #3810 - feat: implement the
FrontendInvoker
by @WenyXu in #3824 - feat: improve error message for typo in IF NOT EXISTS by @tisonkun in #3817
- feat: introduce
TableNameCache
&TableInfoCache
&TableRouteCache
by @WenyXu in #3895 - feat: introduce
TableRouteCache
toPartitionRuleManager
by @WenyXu in #3922 - feat: introduce the
CacheRegistry
by @WenyXu in #3896 - feat: limit total rows copied in COPY TABLE FROM with LIMIT segment by @irenjj in #3910
- feat: limit total rows copied in
COPY TABLE FROM
stmt by @irenjj in #3819 - feat: limiting the size of query results to Dashboard by @realtaobo in #3901
- feat: metaclient builder options with role by @fengjiachun in #3909
- feat: metasrvs nodeinfo by @fengjiachun in #3873
- feat: migrate orc-rs to datafusion-orc by @realtaobo in #3923
- feat: pass
QueryContext
toFlowRequestHeader
by @WenyXu in #3878 - feat: physical optimizer RemoveDuplicate to remove duplicate exec plans by @waynexia in #3839
- feat: remove timeout in the channel between frontend and datanode by @waynexia in #3962
- feat: skip read-only region when trying to flush on region full by @waynexia in #3966
- feat: support PromQL scalar by @Taylor-lagrange in #3693
- feat: support
ALTER TABLE ... MODIFY COLUMN ... ...
by @KKould in #3796 - feat: support any precision in PromQL by @Taylor-lagrange in #3933
- feat: support different types for
CompatReader
by @KKould in #3745 - feat: support distributed
EXPLAIN ANALYZE
by @waynexia in #3908 - feat: support evaluate expr in range query param by @Taylor-lagrange in #3823
- feat: support invalidate ...
Release v0.8.0-nightly-20240517
What's Changed
- feat(procedure): support to rollback by @WenyXu in #3625
- feat(flow): render map&related tests by @discord9 in #3581
- fix(readme): fix link of Ingester-js by @DiamondMofeng in #3668
- feat: add append mode to table options by @evenyag in #3624
- ci: setup-protoc always with token by @tisonkun in #3674
- chore: improve contributor click in git-cliff by @tisonkun in #3672
- feat(fuzz): add create database target by @CookiePieWw in #3675
- fix:
DeserializedValueWithBytes::from_inner
misusing by @WenyXu in #3676 - chore: remove global_ttl config by @v0y4g3r in #3673
- refactor: pass http method to metasrv http handler by @tisonkun in #3667
- refactor(flow): func spec api&use Error not EvalError in mfp by @discord9 in #3657
- refactor: bundle the lightweight axum test client by @tisonkun in #3669
- chore: add a fix-clippy Makefile target by @tisonkun in #3677
- chore: unify name metasrv by @fengjiachun in #3671
- feat: treat all number types as field candidates by @waynexia in #3670
- feat(fuzz): support to create metric table by @WenyXu in #3617
- feat: add checksum for checkpoint data by @tisonkun in #3651
- refactor: refactor alter table procedure by @WenyXu in #3678
- chore: create database api change in protobuf by @CookiePieWw in #3682
- feat: try get pk values from cache when applying predicate to parquet by @waynexia in #3286
- chore: remove TODO that has been done by @tisonkun in #3683
- chore(flow): more comments&lint by @discord9 in #3680
- refactor: drop table procedure by @WenyXu in #3688
- ci: add CODEOWNERS file by @tisonkun in #3691
- fix: cli export "create table" with quoted names by @dimbtp in #3684
- refactor: check error type before logging by @sunng87 in #3697
- feat(flow): transform substrait SELECT&WHERE&GROUP BY to Flow Plan by @discord9 in #3690
- feat: impl table_constraints table for information_schema by @killme2008 in #3698
- refactor: Move manifest manager lock to
MitoRegion
by @evenyag in #3689 - feat: add strict mode to validate protocol strings by @irenjj in #3638
- feat: get metasrv clusterinfo by @fengjiachun in #3696
- chore: cleanup tech debt in #3696 by @fengjiachun in #3705
- feat(promql): parameterize lookback by @etolbakov in #3630
- refactor: use toml2docs to generate config docs by @zyy17 in #3704
- test: Add tests for KvBackend trait implement by @realtaobo in #3700
- feat: add
filter_deleted
option to avoid removing deletion markers by @v0y4g3r in #3707 - refactor: remove redundant try_flush invocations by @tisonkun in #3706
- docs: update memtable config example by @evenyag in #3712
- feat: check partition rule by @waynexia in #3711
- fix(alter_table): ignore request outdated error by @WenyXu in #3715
- feat(drop_table): support to rollback table metadata by @WenyXu in #3692
- ci: use greptimedb-ci-tester account by @zyy17 in #3719
- chore(mito): set null value data size to i64 by @etolbakov in #3722
- chore: cleanup todos that should be panic by @tisonkun in #3720
- fix: remove ttl option from metadata region by @waynexia in #3726
- refactor: merge RegionHandleResult into RegionHandleResponse by @tisonkun in #3721
- docs: add style guide by @waynexia in #3730
- feat(fuzz): enable create-if-not-exists option by @CookiePieWw in #3732
- feat: add tinytext, mediumtext and longtext data types by @CookiePieWw in #3731
- feat: support invalidate schema name key cache by @realtaobo in #3725
- refactor(meta): Ensure all moving values remain unchanged between two transactions by @WenyXu in #3727
- chore: remove TableIdProvider by @fengjiachun in #3733
- refactor: avoid unnecessary cloning by @WenyXu in #3734
- build(deps): update datafusion to latest and arrow to 51.0 by @MichaelScofield in #3661
- refactor: avoid unnecessary alloc by using unwrap_or_else by @etolbakov in #3742
- build: update toolchain to nightly-2024-04-18 by @waynexia in #3740
- chore: update greptime-proto to main by @MichaelScofield in #3743
- feat: support PromQL scalar by @Taylor-lagrange in #3693
- feat: impl show collation and show charset statements by @killme2008 in #3753
- build(deps): bump rustls from 0.22.3 to 0.22.4 by @dependabot in #3764
- feat: add preserve arg to sqlness runner by @waynexia in #3724
- refactor(flow): split render.rs and other minor changes by @discord9 in #3750
- ci: temporary disable compatibility test by @waynexia in #3767
- ci: secrets.GITHUB_TOKEN not exist on self-hosted runner by @tisonkun in #3765
- feat: update dashboard to v0.5.0 by @ZonaHex in #3768
- docs: add how-to-write-fuzz-tests.md by @WenyXu in #3763
- fix: set is_time_index properly on updating physical table's schema by @waynexia in #3770
- fix: the
dropping_regions
guards should be dropped on procedure done by @MichaelScofield in #3771 - fix: operating region guards should be dropped when procedure is done by @MichaelScofield in #3775
- fix: consider both db param and extended db header in Prometheus HTTP API by @waynexia in #3776
- fix: do not remove deletion markers when window time range overlaps by @v0y4g3r in #3773
- chore: bump jobserver by @v0y4g3r in #3778
- fix: promql scalar when input empty batch by @Taylor-lagrange in #3779
- build: only build amd64 image for CentOS by @evenyag in #3784
- refactor: move the version string to common by @MichaelScofield in #3783
- feat: write manifests in background tasks by @evenyag in #3709
- feat: add
ChangeColumnType
forAlterKind
by @KKould in #3757 - refactor: simplify the PaginationStream by @WenyXu in #3787
- feat: support different types for
CompatReader
by @KKould in #3745 - chore: always obsolete wal to avoid discontinuous log entries by @v0y4g3r in #3789
- feat: impl Display for Statement by @irenjj in #3744
- refactor(flow): refine comments and code by @zhongzc in #3785
- feat: add validate method to CreateExpr by @waynexia in #3772
- fix: post process result on query full column name of prom labels API by @waynexia in #3793
- fix: fix fuzz test ci by @WenyXu in #3795
- fix!: use the right pr...