3fe94cc14f
[refactor-put] rewrite read_and_put_block as a series of steps with channels
2024-02-26 17:55:37 +01:00
d640102b76
[split_getobject] GetObject: split out handle_get_full
2024-02-23 18:14:50 +01:00
6ee691e65f
[refactor-block] simplify some more
2024-02-23 12:50:10 +01:00
e9c42bca34
[refactor-block] add DataBlockStream type
2024-02-23 12:22:29 +01:00
cd1069c1d4
[refactor-block] refactor DataBlock and DataBlockPath
2024-02-23 12:15:52 +01:00
07c7895948
[refactor-block] simplify rpc_get_block
2024-02-23 11:54:40 +01:00
9b41f4ff20
[refactor-block] move read_stream_to_end to garage_net
2024-02-23 11:46:57 +01:00
93552b9275
[refactor-block] Remove redundant BlockStream type
2024-02-23 11:33:38 +01:00
cff702a951
[lock-createbucket] Add node-global lock for bucket/key operations ( fix #723 )
2024-02-22 12:28:21 +01:00
885405d944
Merge pull request 'system metrics improvements' ( #726 ) from peer-metrics into main
...
Reviewed-on: Deuxfleurs/garage#726
2024-02-20 15:35:12 +00:00
b868493da9
[peer-metrics] add basic cluster node status metrics ( fix #545 )
2024-02-20 14:50:24 +01:00
182a23cc12
[peer-metrics] refactor SystemMetrics to hold a reference to System
2024-02-20 14:20:58 +01:00
3cdf69f079
[peer-metrics] Add metrics for cluster health, like GetClusterHealth admin API
2024-02-20 13:50:45 +01:00
00d479358d
[peer-metrics] refactor/simplify SystemMetrics
2024-02-20 13:50:45 +01:00
203bb10035
Merge pull request 'Filter nodes Garage tries to connect to' ( #719 ) from reconnect-only-current into main
...
Reviewed-on: Deuxfleurs/garage#719
2024-02-20 10:37:11 +00:00
e91576677e
[reconnect-only-current] filter nodes to reconnect to
...
do not try reconnecting to nodes received from consul/kubernetes
discovery if they are not currently in the layout
2024-02-20 11:07:10 +01:00
95e3a39b4d
[networking-fixes] small refactoring in garage_net peering
2024-02-19 18:12:21 +01:00
66fe893023
[networking-fixes] garage_net: retry connecting when new IP is learned
2024-02-19 18:12:21 +01:00
b96f84b894
[networking-fixes] add option to bind outgoing RPC sockets ( fix #638 )
...
Thanks to yuka for the original patch.
2024-02-19 11:45:44 +01:00
f0bbad2db9
[networking-fixes] use rpc_public_addr in netapp's HelloMessage
2024-02-19 11:45:44 +01:00
125c662860
[import-netapp] move and rename FullMeshPeeringSrategy to PeeringManager
2024-02-15 12:15:35 +01:00
5766befb24
[import-netapp] fix tests
2024-02-15 12:15:33 +01:00
5ea24254a9
[import-netapp] import Netapp code into Garage codebase
2024-02-15 12:15:07 +01:00
1b0f167d2f
[fix-cargo-toml] fix cargo warnings in Cargo.toml files
2024-02-15 10:54:58 +01:00
bf283c9924
[fix-secrets-695] config: replace String by PathBuf for *_file
2024-02-12 15:36:43 +01:00
25e5738568
[fix-secrets-695] take into account rpc secret from file for cli commands ( fix #695 )
2024-02-12 10:42:17 +01:00
198188017c
Merge pull request 'Implement header overriding in GetObject ( fix #650 )' ( #713 ) from header-override-650 into main
...
Reviewed-on: Deuxfleurs/garage#713
2024-02-09 15:40:18 +00:00
02e98e2d10
[header-override-650] implement header overriding in GetObject ( fix #650 )
2024-02-09 15:58:46 +01:00
fe175fa8e2
Merge pull request 'garage block info
: find blocks by prefix ( fix #682 )' ( #712 ) from block-info-short-682 into main
...
Reviewed-on: Deuxfleurs/garage#712
2024-02-09 14:07:29 +00:00
8da67b3aa2
[block-info-short-682] garage block info
: find blocks by prefix ( fix #682 )
2024-02-09 14:35:53 +01:00
10bc2ead60
[multi-char-delimiter-692] allow multi-character delimiters in List* ( fix #692 )
2024-02-09 14:15:29 +01:00
5c63193d1d
[dep-upgrade-202402] fix shutdown issue introduced when upgrading hyper
2024-02-08 23:43:59 +01:00
bcbd15da84
[dep-upgrade-202402] cargo clippy fixes
2024-02-08 23:29:57 +01:00
ad5ce968d2
[dep-upgrade-202402] remove useless mut
2024-02-08 23:29:57 +01:00
e011941964
[dep-upgrade-202402] refactor use of BodyStream
2024-02-07 15:32:51 +01:00
53746b59e5
[dep-upgrade-202402] slightly more explicit error management
2024-02-07 14:53:13 +01:00
a31d1bd496
[dep-upgrade-202402] fix obsolete DateTime::from_utc calls
2024-02-07 14:48:27 +01:00
e524e7a30d
[dep-upgrade-202402] rename BytesBody into ErrorBody for clarity
2024-02-07 14:45:52 +01:00
fe48d60d2b
[dep-upgrade-202402] refactor http listener code
2024-02-07 14:34:40 +01:00
22332e6c35
[dep-upgrade-202402] simplify/refactor GetObject
2024-02-05 20:26:33 +01:00
81ccd4586e
[dep-upgrade-202402] upgrade to http/hyper 1.x for tests
2024-02-05 19:57:35 +01:00
a22bd31920
[dep-upgrade-202402] migration to http/hyper 1.0 for k2v api
2024-02-05 19:27:12 +01:00
0bb5b77530
[dep-upgrade-202402] wip: port to http/hyper crates v1
2024-02-05 18:49:54 +01:00
6e69a1fffc
[dep-upgrade-202402] prepare migration to http/hyper 1.0
2024-02-05 14:44:12 +01:00
6e4229e29c
[dep-upgrade-202402] update aws-sdk dependencies
2024-02-05 14:02:45 +01:00
fe1af5d98b
[dep-upgrade-202402] refactor dependencies: move all as workspace deps
2024-02-05 13:02:02 +01:00
0eef8a69f0
make all garage_db::Engine variants un-conditional
...
Having all Engine enum variants conditional causes compilation errors
when *none* of the DB engine features is enabled. This is not an issue
for full garage build, but affects crates that use garage_db as
dependency.
Change all variants to be present at all times. It solves compilation
errors and also allows us to better differentiate between invalid DB
engine name and engine with support not compiled in current binary.
2024-01-22 21:12:02 +01:00
74e72fc996
convert_db: cleanup naming and comments for open overrides
2024-01-22 17:52:39 +01:00
4b54e053df
convert_db: prevent conversion between same input/output engine
...
Use optional DB open overrides for both input and output database.
Duplicating the same override flag for input/output would result in too
many, too long flags. It would be too costly for very rare edge-case
where converting between same DB engine, just with different flags.
Because overrides flags for different engines are disjoint and we are
preventing conversion between same input/ouput DB engine, we can have
only one set.
The override flag will be passed either to input or output, based on
engine type it belongs to. It will never be passed to both of them and
cause unwelcome surprise to user.
2024-01-18 17:57:56 +01:00
8527dd87cc
convert_db: allow LMDB map size override
2024-01-17 21:20:34 +01:00