Commit Graph

1971 Commits

Author SHA1 Message Date
Alex 9f5433db82 Merge pull request 'Update .drone.yml signature' (#374) from fix-drone-signature into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #374
2022-09-05 16:18:15 +02:00
Alex fd8074ad9b
Update .drone.yml signature
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-09-05 16:09:01 +02:00
Alex 07e6bcde85
Merge branch 'main' into lx-perf-improvements
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-09-05 12:40:17 +02:00
Alex 0009fd136c Merge pull request 'Make block resync speed dynamically configurable' (#369) from resync-ajustable-speed into main
continuous-integration/drone/push Build is passing Details
Included in this PR:

- [x] Small refactor, resync code is moved to a separate `block/resync.rs` file
- [x] Block resync tranquility is no longer in config file, it is set dynamically using `garage worker set resync-tranquility` (this parameter is persisted over Garage restarts)
- [x] Up to 4 block resync workers can be activated to run simultaneously to speed up big resyncs, this parameter is set dynamically using `garage worker set resync-n-workers`

Reviewed-on: #369
2022-09-05 12:35:08 +02:00
Jakub Jirutka 7511ba5530 Allow linking against system-provided libsqlite
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is pending Details
Unfortunately, rusqlite uses the opposite logic for enabling/disabling
bundled libraries to others (libsodium-sys, zstd-sys). Cargo features
are very limited and doesn't allow to enable feature A in a dependency
iff feature B is disabled.

Note, lmdb-rkv-sys doesn't need any special treatment because it
automatically links against system liblmdb if found via pkgconf.

Linux distros should build garage with
`--no-default-features --features system-libs` to disable bundled-libs
and enable system-libs.
2022-09-03 19:15:57 +02:00
Jakub Jirutka a6e40b75ea Add feature "system-libs" to enable linking against system libraries
If this feature is enabled, libsodium-sys and zstd-sys will link
dynamically against system-provided libraries instead of building
and linking statically the bundled (possibly outdated and vulnerable)
copies of them. This feature is intended mainly for linux package
maintainers.
2022-09-03 18:44:34 +02:00
Alex e1751c8a9c
fix clippy
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-09-02 17:24:26 +02:00
Alex 5d4b937a00
Ability to have up to 4 concurrently working resync workers
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-09-02 17:18:13 +02:00
Alex 5e8baa433d
Make BlockManagerLocked fully private again
continuous-integration/drone/push Build is passing Details
2022-09-02 16:52:22 +02:00
Alex 47be652a1f
block manager: refactor: split resync into separate file
continuous-integration/drone/push Build is passing Details
2022-09-02 16:47:15 +02:00
Alex 943d76c583
Ability to dynamically set resync tranquility
continuous-integration/drone/push Build is passing Details
2022-09-02 15:34:21 +02:00
Alex 6226f5ceca
Update to netapp 0.4.5 - fixed ping
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-09-02 14:33:12 +02:00
Alex 13b5f28c7e
Make use of BytesBuf from new Netapp
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-09-02 13:46:42 +02:00
Alex 1ef87ac4cb
cargo fmt
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-09-02 13:38:29 +02:00
Alex 99b532b85b
Apply PRIO_SECONDARY to block data transfers
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-09-01 16:35:43 +02:00
Alex e648bf7b69
update cargo.nix
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-09-01 16:31:04 +02:00
Alex df094bd807
Less strict timeouts 2022-09-01 16:30:44 +02:00
Alex f3bf34b6a1
update netapp: straming + fix-ping
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-09-01 14:23:54 +02:00
Alex bc977f9a7a
Update to Netapp with OrderTag support and exploit OrderTags
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-09-01 12:58:20 +02:00
Alex 4b726b0941
netapp recv with unbounded channel removes deadlock
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-09-01 09:47:28 +02:00
Alex 70231d68b2
Fix bytes_read counter
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-08-31 19:44:27 +02:00
Alex e598231ca4
update netapp git commit
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-08-31 19:27:25 +02:00
Alex c9bc9d89de
Merge branch 'lx-perf-improvements' into netapp-stream-body
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-08-31 17:42:31 +02:00
Alex eb97e13a6a
update cargo.nix
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-08-31 17:42:00 +02:00
Alex efbca67ce4
Add env filter to tracing subscriber
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-08-31 14:39:12 +02:00
Alex 44cd98d2e4
Tracing-subscriber: write to stderr
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-08-31 14:28:17 +02:00
Alex dd5304f6fc
Replace logging crate pretty_env_logger by tracing_subscriber::fmt
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-08-31 14:24:41 +02:00
Alex 322dafc761
Try to fix clippy
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build was killed Details
continuous-integration/drone Build was killed Details
2022-08-29 17:32:45 +02:00
Alex 5d065b8a0f
cargo2nix fix to fetchCrateGit
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-08-29 17:24:53 +02:00
Alex 52749e28f7
Merge branch 'lx-perf-improvements' into netapp-stream-body
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone Build is failing Details
2022-08-29 16:48:43 +02:00
Alex 4da67b0035
Update drone signature
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is passing Details
2022-08-29 16:48:31 +02:00
Alex 1921f4f7e6
Merge branch 'lx-perf-improvements' into netapp-stream-body
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-08-29 16:45:05 +02:00
Alex ebc20a8798
Merge branch 'main' into lx-perf-improvements
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-08-29 16:44:13 +02:00
Mendes 81083dd415 Added a first draft version of the algorithm and analysis for the non-strict mode.
continuous-integration/drone/push Build was killed Details
continuous-integration/drone/pr Build was killed Details
2022-08-19 21:21:41 +02:00
Quentin 532eca7ff9
Add some documentation for Caddy
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is passing Details
continuous-integration/drone/push Build is pending Details
2022-08-12 10:33:41 +02:00
Quentin 2c7bae935a
Configure structopt to report the right version
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone Build is passing Details
continuous-integration/drone/push Build is passing Details
By default, structopt reports the value provided by
the env var CARGO_PKG_VERSION, feeded by Cargo when reading
Cargo.toml. However for Garage we use a versioning based on git,
so we often report a version that is behind the real version.
In this commit, we create garage_util::version::garage() that
reports the right version and configure all structopt subcommands
to call this function instead of using the env var.
2022-08-11 10:21:45 +02:00
Quentin 8cd02639dc
drone: set TARGET env as needed by "to_s3" func
continuous-integration/drone Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-08-03 11:19:26 +02:00
Alex e935861854
Factor out node request order selection logic & use in manager
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone Build is failing Details
2022-07-29 12:25:03 +02:00
Alex f0ee3056d3
Update cargo.nix 2022-07-29 12:25:03 +02:00
Alex 126b037307
update netapp 2022-07-29 12:25:03 +02:00
Alex 33750c04ed
Update cargo.nix 2022-07-29 12:25:03 +02:00
Alex 68087ee13d
Fix clippy 2022-07-29 12:25:03 +02:00
Alex 605a630333
Use streaming in block manager 2022-07-29 12:25:02 +02:00
Alex a35d4da721
update netapp to 0.5 2022-07-29 12:25:02 +02:00
Alex 8e7e680afe
First adaptation to WIP netapp with streaming body 2022-07-29 12:25:02 +02:00
Alex 16f6a1a65d
fix clippy
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-29 12:24:49 +02:00
Alex ad35b18bb1
Faster chunker 2022-07-29 12:24:49 +02:00
Alex 49154a78d8
Update cargo.nix 2022-07-29 12:24:48 +02:00
Alex ff4771c36a
cargo fmt 2022-07-29 12:24:48 +02:00
Alex 381eb9a5a1
Fix tests 2022-07-29 12:24:48 +02:00