diff --git a/CHANGELOG.md b/CHANGELOG.md index ca6651a4..eb572992 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.17.0] - 2024-03-23 +### Added +- Made number of runtime threads configurable +### Changed +- Incorporate FlightSQL performance fixes in `kamu v0.168.0` + ## [0.16.3] - 2024-03-23 ### Fixed - Incorporate FlightSQL location bugfix in `kamu-adapter-flight-sql v0.167.2` diff --git a/Cargo.lock b/Cargo.lock index f4fdee28..4ac9a5c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -524,7 +524,7 @@ dependencies = [ "proc-macro2", "quote", "strum 0.25.0", - "syn 2.0.53", + "syn 2.0.55", "thiserror", ] @@ -560,7 +560,7 @@ checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -582,18 +582,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] name = "async-trait" -version = "0.1.78" +version = "0.1.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "461abc97219de0eaaf81fe3ef974a540158f3d079c2ab200f891f1a2ef201e85" +checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -1401,8 +1401,8 @@ checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "container-runtime" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "cfg-if", @@ -1560,7 +1560,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -1584,7 +1584,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -1595,7 +1595,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -1936,7 +1936,7 @@ checksum = "4d0f263fd9b684a66c34bea8aa1e814f82f451d9101078ed465193708da174c4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2062,13 +2062,13 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] name = "enum-variants" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" [[package]] name = "env_filter" @@ -2111,8 +2111,8 @@ dependencies = [ [[package]] name = "event-bus" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "dill", @@ -2122,8 +2122,8 @@ dependencies = [ [[package]] name = "event-sourcing" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-stream", "async-trait", @@ -2136,11 +2136,11 @@ dependencies = [ [[package]] name = "event-sourcing-macros" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2154,9 +2154,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "ff" @@ -2313,7 +2313,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -2763,8 +2763,8 @@ checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" [[package]] name = "internal-error" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "thiserror", ] @@ -2866,8 +2866,8 @@ dependencies = [ [[package]] name = "kamu" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-recursion", "async-stream", @@ -2934,8 +2934,8 @@ dependencies = [ [[package]] name = "kamu-adapter-auth-oso" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "dill", @@ -2947,8 +2947,8 @@ dependencies = [ [[package]] name = "kamu-adapter-flight-sql" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "arrow-flight", "async-trait", @@ -2965,8 +2965,8 @@ dependencies = [ [[package]] name = "kamu-adapter-graphql" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-graphql", "async-trait", @@ -2992,8 +2992,8 @@ dependencies = [ [[package]] name = "kamu-adapter-http" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "axum", @@ -3026,8 +3026,8 @@ dependencies = [ [[package]] name = "kamu-adapter-oauth" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "dill", @@ -3042,8 +3042,8 @@ dependencies = [ [[package]] name = "kamu-adapter-odata" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "axum", "chrono", @@ -3061,7 +3061,7 @@ dependencies = [ [[package]] name = "kamu-api-server" -version = "0.16.3" +version = "0.17.0" dependencies = [ "arrow-flight", "async-graphql", @@ -3115,8 +3115,8 @@ dependencies = [ [[package]] name = "kamu-core" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-stream", "async-trait", @@ -3144,8 +3144,8 @@ dependencies = [ [[package]] name = "kamu-data-utils" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "arrow-digest", "async-trait", @@ -3161,8 +3161,8 @@ dependencies = [ [[package]] name = "kamu-flow-system" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "chrono", @@ -3184,8 +3184,8 @@ dependencies = [ [[package]] name = "kamu-flow-system-inmem" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-stream", "async-trait", @@ -3208,8 +3208,8 @@ dependencies = [ [[package]] name = "kamu-ingest-datafusion" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "chrono", @@ -3238,7 +3238,7 @@ dependencies = [ [[package]] name = "kamu-repo-tools" -version = "0.16.3" +version = "0.17.0" dependencies = [ "chrono", "clap", @@ -3252,8 +3252,8 @@ dependencies = [ [[package]] name = "kamu-task-system" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-trait", "chrono", @@ -3272,8 +3272,8 @@ dependencies = [ [[package]] name = "kamu-task-system-inmem" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "async-stream", "async-trait", @@ -3618,8 +3618,8 @@ dependencies = [ [[package]] name = "multiformats" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "bs58", "digest", @@ -3812,8 +3812,8 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opendatafabric" -version = "0.167.2" -source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.167.2#2a2137cb25f1a012876c9a4c5f23ccddf0f5eefe" +version = "0.168.0" +source = "git+https://github.com/kamu-data/kamu-cli?tag=v0.168.0#c1c183787d59da2eb428a0ae777c38f4d0f22214" dependencies = [ "arrow", "base64 0.21.7", @@ -4023,7 +4023,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -4073,7 +4073,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -4161,7 +4161,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -4309,7 +4309,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", "version_check", "yansi 1.0.1", ] @@ -4334,7 +4334,7 @@ dependencies = [ "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -4729,7 +4729,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -4801,7 +4801,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5012,7 +5012,7 @@ checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5087,7 +5087,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5100,7 +5100,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5122,9 +5122,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.53" +version = "2.0.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" dependencies = [ "proc-macro2", "quote", @@ -5208,7 +5208,7 @@ dependencies = [ "proc-macro2", "quote", "sha2", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5230,7 +5230,7 @@ checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5250,7 +5250,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5366,7 +5366,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5580,7 +5580,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] @@ -5920,7 +5920,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", "wasm-bindgen-shared", ] @@ -5954,7 +5954,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6255,7 +6255,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.55", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index b77fc1cb..4b3b61a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,26 +10,26 @@ resolver = "2" [workspace.dependencies] # Utils -container-runtime = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -event-bus = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -internal-error = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } +container-runtime = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +event-bus = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +internal-error = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } # Domain -opendatafabric = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-task-system = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } +opendatafabric = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-task-system = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } # Infra -kamu = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-task-system-inmem = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-flow-system-inmem = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-adapter-graphql = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-adapter-http = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-adapter-oauth = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-adapter-odata = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-adapter-auth-oso = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } -kamu-adapter-flight-sql = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.167.2", version = "0.167.2", default-features = false } +kamu = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-task-system-inmem = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-flow-system-inmem = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-adapter-graphql = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-adapter-http = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-adapter-oauth = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-adapter-odata = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-adapter-auth-oso = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } +kamu-adapter-flight-sql = { git = "https://github.com/kamu-data/kamu-cli", tag = "v0.168.0", version = "0.168.0", default-features = false } [workspace.package] -version = "0.16.3" +version = "0.17.0" edition = "2021" homepage = "https://github.com/kamu-data/kamu-platform" repository = "https://github.com/kamu-data/kamu-platform" diff --git a/LICENSE.txt b/LICENSE.txt index a8d072a1..4df9e1a4 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -11,7 +11,7 @@ Business Source License 1.1 Licensor: Kamu Data, Inc. -Licensed Work: Kamu Platform Version 0.16.3 +Licensed Work: Kamu Platform Version 0.17.0 The Licensed Work is © 2023 Kamu Data, Inc. Additional Use Grant: You may use the Licensed Work for any purpose, @@ -24,7 +24,7 @@ Additional Use Grant: You may use the Licensed Work for any purpose, Licensed Work where data or transformations are controlled by such third parties. -Change Date: 2028-03-19 +Change Date: 2028-03-24 Change License: Apache License, Version 2.0 diff --git a/src/app/api-server/src/app.rs b/src/app/api-server/src/app.rs index 667a1945..56b44344 100644 --- a/src/app/api-server/src/app.rs +++ b/src/app/api-server/src/app.rs @@ -29,11 +29,9 @@ const DEFAULT_LOGGING_CONFIG: &str = "info,tower_http=trace"; ///////////////////////////////////////////////////////////////////////////////////////// -pub async fn run(matches: clap::ArgMatches) -> Result<(), InternalError> { +pub async fn run(matches: clap::ArgMatches, config: ApiServerConfig) -> Result<(), InternalError> { init_logging(); - let config = load_config(matches.get_one("config"))?; - let repo_url = if let Some(repo_url) = matches.get_one::("repo-url").cloned() { repo_url } else { diff --git a/src/app/api-server/src/config.rs b/src/app/api-server/src/config.rs index a244d0b3..365467c6 100644 --- a/src/app/api-server/src/config.rs +++ b/src/app/api-server/src/config.rs @@ -17,10 +17,24 @@ use serde::{Deserialize, Serialize}; #[serde(deny_unknown_fields)] #[serde(rename_all = "camelCase")] pub struct ApiServerConfig { + pub runtime: RuntimeConfig, pub auth: AuthConfig, pub repo: RepoConfig, } +///////////////////////////////////////////////////////////////////////////////////////// +// Runtime +///////////////////////////////////////////////////////////////////////////////////////// + +#[derive(Debug, Default, PartialEq, Serialize, Deserialize)] +#[serde(deny_unknown_fields)] +#[serde(rename_all = "camelCase")] +pub struct RuntimeConfig { + pub worker_threads: Option, + pub max_blocking_threads: Option, + pub thread_stack_size: Option, +} + ///////////////////////////////////////////////////////////////////////////////////////// // Auth ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/app/api-server/src/main.rs b/src/app/api-server/src/main.rs index 01388227..bb1b012a 100644 --- a/src/app/api-server/src/main.rs +++ b/src/app/api-server/src/main.rs @@ -7,11 +7,26 @@ // the Business Source License, use of this software will be governed // by the Apache License, Version 2.0. -#[tokio::main] -async fn main() { +fn main() { let matches = kamu_api_server::cli().get_matches(); - match kamu_api_server::run(matches).await { + let config = kamu_api_server::load_config(matches.get_one("config")).unwrap(); + + let mut builder = tokio::runtime::Builder::new_multi_thread(); + + if let Some(worker_threads) = config.runtime.worker_threads { + builder.worker_threads(worker_threads); + } + if let Some(max_blocking_threads) = config.runtime.max_blocking_threads { + builder.max_blocking_threads(max_blocking_threads); + } + if let Some(thread_stack_size) = config.runtime.thread_stack_size { + builder.thread_stack_size(thread_stack_size); + } + + let rt = builder.enable_all().build().unwrap(); + + match rt.block_on(kamu_api_server::run(matches, config)) { Ok(_) => {} Err(err) => { eprintln!("Error: {err}\nDetails: {err:#?}");