Commit Graph

112 Commits

Author SHA1 Message Date
Alex Auvolat
d867bbcfb5 Implement DeleteObjects 2020-05-01 15:52:35 +00:00
Alex Auvolat
3324971701 Slightly improved S3 compatibility
- ListBucket does not require any of the parameters (delimiter,
    prefix, max-keys, etc)
- URLs are properly percent_decoded
- PutObject and DeleteObject calls now answer correctly
    (empty body, version id in the x-amz-version-id: header)
2020-05-01 14:30:50 +00:00
Alex Auvolat
3686f100b7 Compatibility fixes 2020-04-28 10:35:04 +00:00
Alex Auvolat
0957d0fdfa Work on API 2020-04-28 10:18:14 +00:00
Alex Auvolat
be35cbdce2 update todo 2020-04-26 20:50:23 +00:00
Alex Auvolat
0877a5500c Abort multipart upload 2020-04-26 20:46:33 +00:00
Alex Auvolat
81ecc4999e Implement multipart uploads 2020-04-26 20:39:32 +00:00
Alex Auvolat
1999c0ae51 Update delete code 2020-04-26 19:11:19 +00:00
Alex Auvolat
0a283e4e70 Fix deletion propagation 2020-04-26 18:59:17 +00:00
Alex Auvolat
9cb870f950 Prepare for multipart uploads 2020-04-26 18:55:13 +00:00
Alex Auvolat
ea7e4748ed S3 compatibility: fix bucket listing and HEAD and PUT on bucket 2020-04-26 16:22:33 +00:00
Alex Auvolat
0e49e0c8b5 Add key table to repair procedure 2020-04-26 16:22:22 +00:00
Alex Auvolat
e3203f998b Remove leading / in keys; better delimiter handling 2020-04-24 22:28:15 +02:00
Alex Auvolat
be4831d768 Less verbosity 2020-04-24 19:27:27 +00:00
Alex Auvolat
200f2254a3 TODO update 2020-04-24 19:01:10 +00:00
Alex Auvolat
a52db67954 xml escape 2020-04-24 18:56:00 +00:00
Alex Auvolat
91b2d1fcc1 Some basic S3 functionnality 2020-04-24 18:47:11 +00:00
Alex Auvolat
f2e05986c4 Starting to be S3 compatible 2020-04-24 17:46:52 +00:00
Alex Auvolat
d8f5e643bc Split code for modular compilation 2020-04-24 10:10:01 +00:00
Alex Auvolat
51fb3799a1 Key management admin commands 2020-04-23 20:25:45 +00:00
Alex Auvolat
4ef84a0558 Move repair to separate file 2020-04-23 18:36:12 +00:00
Alex Auvolat
44a1089d95 Make table objects slightly more fool-proof; add key table 2020-04-23 18:16:52 +00:00
Alex Auvolat
c9c6b0dbd4 Reorganize code 2020-04-23 17:05:46 +00:00
Alex Auvolat
01a8acdeec Better error reporting 2020-04-23 16:23:06 +00:00
Alex Auvolat
82f4cd8719 Continue pinging nodes when they are down ; overall better handling of down nodes 2020-04-23 16:06:11 +00:00
Alex Auvolat
2fe82be3bc RPC to ourself do not pass through serialization + HTTPS 2020-04-23 14:40:59 +00:00
Alex Auvolat
37f880bc09 RequestStrategy with possible interruption or not 2020-04-23 13:37:10 +00:00
Alex Auvolat
73574ab43e Fix in rpc_client (see comment in code) 2020-04-22 20:42:23 +00:00
Alex Auvolat
897fafa8db Improvements to block resync queue & worker 2020-04-22 20:32:58 +00:00
Alex Auvolat
2556a1e383 I'm stupid though 2020-04-22 20:06:12 +00:00
Alex Auvolat
231cb32955 Do not delete block if just a single replication error. Write TODO stuff. 2020-04-22 19:25:15 +00:00
Alex Auvolat
8971f34c81 Well they still have to exit when we're exiting though 2020-04-22 17:04:33 +00:00
Alex Auvolat
e8214cb180 Better concurrency:
Use Notify instead of stupid sleep in background worker
Use Semaphore to limit concurrent requests in rpc_client
Make more background tasks cancellable
2020-04-22 16:51:52 +00:00
Alex Auvolat
c0335ac690 Remove a few features in dependencies 2020-04-21 20:37:02 +00:00
Alex Auvolat
ec59e896c6 Make UUID & Hash Copy and remove some .clone() noise 2020-04-21 17:08:42 +00:00
Alex Auvolat
8915224966 Return BadRequest codes for some admin_rpc failure cases 2020-04-21 16:45:32 +00:00
Alex Auvolat
b1ddb933b0 Make the repair command accept subcommands to not do everything all the time 2020-04-21 16:40:17 +00:00
Alex Auvolat
a04218047e Do full sync on node (re)start 2020-04-21 16:15:32 +00:00
Alex Auvolat
2a84d965ab Improve table sync 2020-04-21 16:05:55 +00:00
Alex Auvolat
0226561035 Do not insert deletion marker if there is no object to delete 2020-04-21 14:33:12 +00:00
Alex Auvolat
be0a2bae81 Add node tags in configuration 2020-04-21 14:08:28 +00:00
Alex Auvolat
cc4f2f1cfb Pretty logging 2020-04-21 12:54:55 +00:00
Alex Auvolat
53cf4d1baa Log which workers are doing what 2020-04-19 21:33:38 +00:00
Alex Auvolat
ec7f9f07e2 Implement repair object->version and version->block ref 2020-04-19 21:27:08 +00:00
Alex Auvolat
04acaea231 Don't do version & block_ref updates in background on deletion 2020-04-19 20:52:20 +00:00
Alex Auvolat
5ae32972ef Implement repair command 2020-04-19 20:36:36 +00:00
Alex Auvolat
a54f3158f1 Less output 2020-04-19 19:38:45 +00:00
Alex Auvolat
ea75564851 More aggressive sync timings & improve other stuff 2020-04-19 17:59:59 +00:00
Alex Auvolat
e325c7f47a Add hostname to node info 2020-04-19 19:08:48 +02:00
Alex Auvolat
a6129d8626 Begin implement bucket management & admin commands 2020-04-19 17:15:48 +02:00