Commit graph

802 commits

Author SHA1 Message Date
3d477906d4 properly delete multipart uploads after completion 2023-06-09 17:13:27 +02:00
a6cc563bdd UploadPart: automatic cleanup of version (and reference blocked) when interrupted 2023-06-09 16:23:37 +02:00
c14d3735e5 Add test for multipart uploads and fix part renumbering 2023-06-09 16:23:37 +02:00
53bf2f070c undo sort_key() returning Cow 2023-06-09 16:23:37 +02:00
412ab77b08 comments and clippy lint fixes 2023-06-09 16:23:37 +02:00
511e07ecd4 fix mpu counter (add missing workers) and report info at appropriate places 2023-06-09 16:23:37 +02:00
4ea53dc759 Add multipart upload repair 2023-06-09 16:23:37 +02:00
058518c22b refactor repair workers with a trait 2023-06-09 16:23:37 +02:00
8644376ac2 fix test; simplify code 2023-06-09 16:23:37 +02:00
7ad7dae5d4 fix s3 list test 2023-06-09 16:23:37 +02:00
75a0e01372 fix online repair 2023-06-09 16:23:37 +02:00
bb176ebcb8 cargo fmt 2023-06-09 16:23:37 +02:00
87be8eeb93 updaet block admin for new multipartupload models 2023-06-09 16:23:37 +02:00
82e75c0e29 Adapt S3 API code to use new multipart upload models
- Create and PutPart
- completemultipartupload
- upload part copy
- list_parts
2023-06-09 16:23:37 +02:00
38d6ac4295 New multipart upload table layout 2023-06-09 16:23:37 +02:00
6005491cd8 Use Cow<[u8]> for sort keys 2023-06-09 16:23:37 +02:00
e7e164a280 Make fsync an option for meta and data 2023-06-09 16:23:21 +02:00
1e466b11eb Revert integration tests to using Sled as LMDB causes failures 2023-06-09 13:23:08 +02:00
8a74e1c2bd Split garage/admin.rs into smaller files 2023-06-06 15:39:15 +02:00
19639705e6 Mark sled as deprecated, make lmdb default, and improve sqlite and lmdb defaults 2023-05-17 14:30:53 +02:00
351d734e6c Merge branch 'main' into next 2023-05-09 12:40:08 +02:00
b925f53dc3 Merge pull request 'move git-version dependency to main crate to reduce rebuilds' (#568) from move-git-version into main
Reviewed-on: Deuxfleurs/garage#568
2023-05-09 09:53:33 +00:00
2f495575d8 Merge pull request 'block/manager.rs: Prioritize raw blocks when no compression configured' (#566) from jpds/garage:skip-compressed-blocks-scrub-no-compression into main
Reviewed-on: Deuxfleurs/garage#566
2023-05-09 09:39:48 +00:00
9e0a9c1c15 move git-version dependency to main crate to reduce rebuilds 2023-05-09 11:35:32 +02:00
Jonathan Davies
9c788059e2 block/manager.rs: In is_block_compressed - check which compression_level
is configured on a node and check for raw block first if compression is
disabled (to help reduce syscalls during a scrub).
2023-05-09 10:28:19 +01:00
5684e1990c Merge pull request 'Really allow to disable sled feature' (#563) from jirutka/garage:workspace-deps into main
Reviewed-on: Deuxfleurs/garage#563
2023-05-09 09:08:35 +00:00
14c50f2f84 Merge pull request 'Fix undefined macro warn! on 32-bit' (#562) from jirutka/garage:fix-undefined-warn into main
Reviewed-on: Deuxfleurs/garage#562
2023-05-09 08:52:11 +00:00
d2deee0b8b Declare garage crates using workspace.dependencies
This will allow to really disable "sled" feature without declaring
`default-features = false` in every Cargo.toml where garage_db and
garage_model is used.

See https://doc.rust-lang.org/cargo/reference/workspaces.html#the-dependencies-table
2023-05-09 08:46:15 +00:00
6d3ace1ea9 Fix undefined macro warn! on 32-bit
Compiling garage_db v0.8.2 (garage-0.8.2/src/db)
    error: cannot find macro `warn` in this scope
       --> src/db/lmdb_adapter.rs:352:2
        |
    352 |     warn!("LMDB is not recommended on 32-bit systems, database size will be limited");
        |     ^^^^
        |
        = help: consider importing this macro:
                tracing::warn
        = note: `warn` is in scope, but it is an attribute: `#[warn]`
    error: could not compile `garage_db` due to previous error
2023-05-07 17:01:44 +02:00
833cf082da Remove unnecessary/unused "timeago" features
To decrease dependency bloat and binary size.
2023-05-07 01:03:54 +02:00
fa78d806e3 Merge branch 'main' into next 2023-04-25 12:34:26 +02:00
a16eb7e4b8 Merge pull request 'api/Cargo.toml: Bumped quick-xml to version 0.26.' (#552) from jpds/garage:quick-xml-0.26 into main
Reviewed-on: Deuxfleurs/garage#552
2023-04-24 09:00:00 +00:00
Jonathan Davies
fb3bd11dce block/repair.rs: Added log entries for scrub start/finish. 2023-04-23 22:22:26 +01:00
Jonathan Davies
c168383113 api/Cargo.toml: Bumped quick-xml to version 0.26. 2023-04-23 20:14:28 +01:00
000006d689 obsolete clippy lints 2023-03-13 18:50:07 +01:00
0a1ddcf630 Prepare for v0.8.2 2023-03-13 18:46:31 +01:00
d6ffa57f40 Merge pull request 'Increase Garage tests robustness' (#526) from tests/increase-robustness into main
Reviewed-on: Deuxfleurs/garage#526
Reviewed-by: Alex <alex@adnab.me>
Reviewed-by: trinity-1686a <trinity.pointard@gmail.com>
2023-03-13 17:26:21 +00:00
f37ec584b6 Merge branch 'main' into rustversion-label 2023-03-13 16:14:13 +01:00
70b5424b99
use one key per context to isolate tests 2023-03-13 15:06:05 +01:00
2687fb7fa8
do not assume Garage boots in 2sec during tests 2023-03-13 15:06:05 +01:00
teutat3s
8ad6efb338
Merge branch 'main' into pnet_datalink-0.33.0 2023-03-13 13:59:42 +01:00
Jonathan Davies
9ea154ae9c admin/cluster.rs: Added rust_version. 2023-03-10 14:46:54 +00:00
Jonathan Davies
4421378023 garage/admin.rs: Display Rust version in stats output. 2023-03-10 14:46:54 +00:00
Jonathan Davies
25f2a46fc3 rpc/system_metrics.rs: Added rustversion label to garage_build_info metric. 2023-03-10 14:46:44 +00:00
Jonathan Davies
d218f475cb block/manager.rs: Set defaults for scrub_persister. 2023-03-09 17:08:47 +00:00
Jonathan Davies
7b65dd24e2 block/repair.rs: Added a timestamp argument to
randomize_next_scrub_run_time().
2023-03-09 16:38:41 +00:00
Jonathan Davies
b70cc0a940 block/repair.rs: Added migration for ScrubWorkerPersisted's time_next_run_scrub.
Fixes: #520.
2023-03-09 16:38:36 +00:00
2dc80abbb1 Merge pull request 'block/repair.rs: Added a random element of 10 days to SCRUB_INTERVAL' (#516) from jpds/garage:scrub-randomize-window into main
Reviewed-on: Deuxfleurs/garage#516
2023-03-06 14:11:25 +00:00
Jonathan Davies
148b66b843 block/manager.rs: Display scrub-next-run. 2023-03-06 13:43:09 +00:00
Jonathan Davies
53d09eb00f block/repair.rs: Added function and time_next_run_scrub with a random element of
10 days to SCRUB_INTERVAL to help balance scrub load across cluster.
2023-03-06 13:43:04 +00:00