-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New config types in restate-types #1350
Conversation
Test Results 92 files ± 0 92 suites ±0 10m 33s ⏱️ -4s For more details on these failures, see this check. Results for commit ab86f50. ± Comparison against base commit ae19c06. This pull request removes 12 and adds 4 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
pub histogram_inactivity_timeout: Option<humantime::Duration>, | ||
|
||
#[serde(flatten)] | ||
pub service_client: ServiceClientOptions, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awesome! i wonder if we need to flatten here though vs having a field name like client
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pro flattening (3 levels is already a stretch), but we can easily change this before release if we feel that client
makes ergonomics better. The change won't impact the code structure which is good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok im relaxed !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for creating the new config types @AhmedSoliman. They look good to me :-) +1 for merging.
This introduces a revised configuration structure with the following attributes: - Revised names - kebab-case serialization - Toml dump() - new base_dir option (override-able via cli) to set the root for data directories - individual data directories are not configurable. - More liberal defaults (in some cases) - Unifying rocksdb options with ability to override Default config dump example: ```toml roles = [ "worker", "admin", "metadata-store", ] node-name = "localhost" cluster-name = "localcluster" allow-bootstrap = true base-dir = "/Users/asoli/workspace/restatedev/restate/restate-data" metadata-store-address = "http://127.0.0.1:5123/" bind-address = "0.0.0.0:5122" advertise-address = "http://127.0.0.1:5122/" shutdown-timeout = "1m" tracing-filter = "info" log-filter = "warn,restate=info" log-format = "pretty" log-disable-ansi-codes = false disable-prometheus = false [http-keep-alive-options] interval = "40s" timeout = "20s" [worker] internal-queue-length = 64 rocksdb-disable-wal = true bootstrap-num-partitions = 64 [worker.invoker] inactivity-timeout = "1m" abort-timeout = "1m" message-size-warning = 10485760 tmp-dir = "/tmp/invoker-01HTHYN4JEVVSZDR13SZ1RWWK6" disable-eager-state = false [worker.invoker.retry-policy] type = "exponential" initial_interval = "50ms" factor = 2.0 max_attempts = 9223372036854775807 max_interval = "10s" [admin] bind-address = "0.0.0.0:9070" concurrent-api-requests-limit = 9223372036854775807 [admin.query-engine] pgsql-bind-address = "0.0.0.0:9071" [ingress] bind-address = "0.0.0.0:8080" concurrent-api-requests-limit = 9223372036854775807 [ingress.kafka] [bifrost] default-provider = "local" [bifrost.local] rocksdb-disable-wal = false writer-commit-batch-size-threshold = 200 writer-commit-time-interval = "13ms" writer-queue-len = 200 flush-wal-on-commit = true [metadata-store] bind-address = "0.0.0.0:5123" request-queue-length = 32 ```
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
have mainly reviewed the service client aspects but seems huge improvement for me overall. thanks!
New config types in restate-types
This introduces a revised configuration structure with the following attributes:
Default config dump example:
Stack created with Sapling. Best reviewed with ReviewStack.