Commit graph

35 commits

Author SHA1 Message Date
c9c6b0dbd4 Reorganize code 2020-04-23 17:05:46 +00:00
82f4cd8719 Continue pinging nodes when they are down ; overall better handling of down nodes 2020-04-23 16:06:11 +00:00
2fe82be3bc RPC to ourself do not pass through serialization + HTTPS 2020-04-23 14:40:59 +00:00
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
ec59e896c6 Make UUID & Hash Copy and remove some .clone() noise 2020-04-21 17:08:42 +00:00
be0a2bae81 Add node tags in configuration 2020-04-21 14:08:28 +00:00
cc4f2f1cfb Pretty logging 2020-04-21 12:54:55 +00:00
53cf4d1baa Log which workers are doing what 2020-04-19 21:33:38 +00:00
ea75564851 More aggressive sync timings & improve other stuff 2020-04-19 17:59:59 +00:00
e325c7f47a Add hostname to node info 2020-04-19 19:08:48 +02:00
a6129d8626 Begin implement bucket management & admin commands 2020-04-19 17:15:48 +02:00
7131553c53 Refactor sharding logic; coming next: full replication with epidemic dissemination 2020-04-19 13:22:28 +02:00
bd1618e78e Remove proto.rs & move some definitions out of data.rs 2020-04-18 19:30:05 +02:00
f41583e1b7 Massive RPC refactoring 2020-04-18 19:21:34 +02:00
ace07da7c1 Fix walk_ring_from 2020-04-17 21:08:43 +02:00
6ce14e2c9e Make all requests continue in the background even after we got enough responses. 2020-04-16 23:13:15 +02:00
2f3b1a072f WIP 2020-04-16 19:28:02 +02:00
f01c1e71b5 Begin work on sync... 2020-04-16 14:50:49 +02:00
d1e8f78b2c Trying to do TLS 2020-04-12 15:51:19 +02:00
9c931f5eda Keep network status & ring in a tokio::sync::watch
advantages
- reads don't prevent preparing writes
- can be followed from other parts of the system by cloning the receiver
2020-04-11 23:53:32 +02:00
53289b69e5 Background task runner that replaces tokio::spawn 2020-04-11 18:51:11 +02:00
3477864142 Fix the Sync issue. Details:
So the HTTP client future of Hyper is not Sync, thus the stream
that read blocks wasn't either. However Hyper's default Body type
requires a stream to be Sync for wrap_stream. Solution: reimplement
a custom HTTP body type.
2020-04-10 22:01:48 +02:00
d66c0d6833 Why is it not Sync?? 2020-04-09 23:45:07 +02:00
1d786c2c66 Something works 2020-04-09 18:43:53 +02:00
bacc76a057 Some work in actually storing things 2020-04-08 22:00:41 +02:00
d50edcdb4f Basic workflow for client PUT, next is do actual storage 2020-04-08 00:39:07 +02:00
90cdffb425 custom data type for hashes and identifiers 2020-04-07 18:10:20 +02:00
82b7fcd280 Config management & ring 2020-04-07 17:00:48 +02:00
061e676136 Refactor; ability to update network config 2020-04-07 16:26:22 +02:00
46d5b896e8 Fix pinging 2020-04-07 00:00:43 +02:00
a7b85146fe Forgot to recalculate hash at strategic locations 2020-04-06 23:10:54 +02:00
a09f019cc5 Seems to be fixed 2020-04-06 22:54:03 +02:00
87f2b4d2fc Ununderstandable error 2020-04-06 22:27:51 +02:00
3c36b449a3 Some work 2020-04-06 21:02:15 +02:00
1a5e6e39af Some more basic work 2020-04-06 19:55:39 +02:00